do not compare actual branch labels; this may fix llvm-gcc-x86_64-darwin10-cross...
[oota-llvm.git] / test / CodeGen / ARM / ifcvt10.ll
1 ; RUN: llc < %s -mtriple=arm-apple-darwin -mcpu=cortex-a9 | FileCheck %s
2 ; rdar://8402126
3 ; Make sure if-converter is not predicating vldmia and ldmia. These are
4 ; micro-coded and would have long issue latency even if predicated on
5 ; false predicate.
6
7 %0 = type { float, float, float, float }
8 %pln = type { %vec, float }
9 %vec = type { [4 x float] }
10
11 define arm_aapcs_vfpcc float @aaa(%vec* nocapture %ustart, %vec* nocapture %udir, %vec* nocapture %vstart, %vec* nocapture %vdir, %vec* %upoint, %vec* %vpoint) {
12 ; CHECK: aaa:
13 ; CHECK: vldr.32
14 ; CHECK-NOT: vldrne
15 ; CHECK-NOT: vpopne
16 ; CHECK-NOT: popne
17 ; CHECK: vpop
18 ; CHECK: pop
19 entry:
20   br i1 undef, label %bb81, label %bb48
21
22 bb48:                                             ; preds = %entry
23   %0 = call arm_aapcs_vfpcc  %0 @bbb(%pln* undef, %vec* %vstart, %vec* undef) nounwind ; <%0> [#uses=0]
24   ret float 0.000000e+00
25
26 bb81:                                             ; preds = %entry
27   ret float 0.000000e+00
28 }
29
30 declare arm_aapcs_vfpcc %0 @bbb(%pln* nocapture, %vec* nocapture, %vec* nocapture) nounwind