1 ; RUN: llc -mtriple=x86_64-apple-darwin8 < %s | FileCheck %s --check-prefix=X64 2 ; RUN: llc -mtriple=x86_64-pc-linux < %s | FileCheck %s --check-prefix=X64 3 ; RUN: llc -mtriple=i686-pc-linux < %s | FileCheck %s --check-prefix=X86 4 ; RUN: llc -mtriple=x86_64-apple-darwin8 -terminal-rule < %s | FileCheck %s --check-prefix=X64 5 ; RUN: llc -mtriple=x86_64-pc-linux -terminal-rule < %s | FileCheck %s --check-prefix=X64 6 7 define void @sret_void(i32* sret %p) { 8 store i32 0, i32* %p 9 ret void 10 } 11 12 ; X64-LABEL: sret_void 13 ; X64-DAG: movl $0, (%rdi) 14 ; X64-DAG: movq %rdi, %rax 15 ; X64: retq 16 17 ; X86-LABEL: sret_void 18 ; X86: movl 4(%esp), %eax 19 ; X86: movl $0, (%eax) 20 ; X86: retl 21 22 define i256 @sret_demoted() { 23 ret i256 0 24 } 25 26 ; X64-LABEL: sret_demoted 27 ; X64-DAG: movq $0, (%rdi) 28 ; X64-DAG: movq %rdi, %rax 29 ; X64: retq 30 31 ; X86-LABEL: sret_demoted 32 ; X86: movl 4(%esp), %eax 33 ; X86: movl $0, (%eax) 34 ; X86: retl 35