Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -tailcallopt=false | FileCheck %s
      2 
      3 	%struct.foo = type { [4 x i32] }
      4 
      5 define fastcc void @bar(%struct.foo* noalias sret %agg.result) nounwind  {
      6 entry:
      7 	%tmp1 = getelementptr %struct.foo, %struct.foo* %agg.result, i32 0, i32 0
      8 	%tmp3 = getelementptr [4 x i32], [4 x i32]* %tmp1, i32 0, i32 0
      9 	store i32 1, i32* %tmp3, align 8
     10         ret void
     11 }
     12 ; CHECK: bar
     13 ; CHECK: ret{{[^4]*$}}
     14 
     15 @dst = external global i32
     16 
     17 define void @foo() nounwind {
     18 	%memtmp = alloca %struct.foo, align 4
     19         call fastcc void @bar( %struct.foo* sret %memtmp ) nounwind
     20         %tmp4 = getelementptr %struct.foo, %struct.foo* %memtmp, i32 0, i32 0
     21 	%tmp5 = getelementptr [4 x i32], [4 x i32]* %tmp4, i32 0, i32 0
     22         %tmp6 = load i32, i32* %tmp5
     23         store i32 %tmp6, i32* @dst
     24         ret void
     25 }
     26 ; CHECK: foo
     27 ; CHECK: ret{{[^4]*$}}
     28