Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -mtriple=thumbv7-apple-darwin10 -mcpu=cortex-a8 | FileCheck %s
      2 ; rdar://8728956
      3 
      4 define hidden void @foo() nounwind ssp {
      5 entry:
      6 ; CHECK: foo:
      7 ; CHECK: push {r7, lr}
      8 ; CHECK-NEXT: mov r7, sp
      9 ; CHECK-NEXT: vpush {d8}
     10 ; CHECK-NEXT: vpush {d10, d11}
     11   %tmp40 = load <4 x i8>* undef
     12   %tmp41 = extractelement <4 x i8> %tmp40, i32 2
     13   %conv42 = zext i8 %tmp41 to i32
     14   %conv43 = sitofp i32 %conv42 to float
     15   %div44 = fdiv float %conv43, 2.560000e+02
     16   %vecinit45 = insertelement <4 x float> undef, float %div44, i32 2
     17   %vecinit46 = insertelement <4 x float> %vecinit45, float 1.000000e+00, i32 3
     18   store <4 x float> %vecinit46, <4 x float>* undef
     19   br i1 undef, label %if.then105, label %if.else109
     20 
     21 if.then105:                                       ; preds = %entry
     22   br label %if.end114
     23 
     24 if.else109:                                       ; preds = %entry
     25   br label %if.end114
     26 
     27 if.end114:                                        ; preds = %if.else109, %if.then105
     28   %call185 = call float @bar()
     29   %vecinit186 = insertelement <4 x float> undef, float %call185, i32 1
     30   %call189 = call float @bar()
     31   %vecinit190 = insertelement <4 x float> %vecinit186, float %call189, i32 2
     32   %vecinit191 = insertelement <4 x float> %vecinit190, float 1.000000e+00, i32 3
     33   store <4 x float> %vecinit191, <4 x float>* undef
     34 ; CHECK: vpop {d10, d11}
     35 ; CHECK-NEXT: vpop {d8}
     36 ; CHECK-NEXT: pop {r7, pc}
     37   ret void
     38 }
     39 
     40 declare hidden float @bar() nounwind readnone ssp
     41