Guard fabs to bfc convert with V6T2 flag
[oota-llvm.git] / test / CodeGen / ARM / 2009-11-30-LiveVariablesBug.ll
1 ; RUN: llc -mtriple=armv7-eabi -mcpu=cortex-a8 < %s
2 ; PR5614
3
4 %"als" = type { i32 (...)** }
5 %"av" = type { %"als" }
6 %"c" = type { %"lsm", %"Vec3", %"av"*, float, i8, float, %"lsm", i8, %"Vec3", %"Vec3", %"Vec3", float, float, float, %"Vec3", %"Vec3" }
7 %"lsm" = type { %"als", %"Vec3", %"Vec3", %"Vec3", %"Vec3" }
8 %"Vec3" = type { float, float, float }
9
10 define arm_aapcs_vfpcc void @foo(%"c"* %this, %"Vec3"* nocapture %adjustment) {
11 entry:
12   switch i32 undef, label %return [
13     i32 1, label %bb
14     i32 2, label %bb72
15     i32 3, label %bb31
16     i32 4, label %bb79
17     i32 5, label %bb104
18   ]
19
20 bb:                                               ; preds = %entry
21   ret void
22
23 bb31:                                             ; preds = %entry
24   %0 = call arm_aapcs_vfpcc  %"Vec3" undef(%"lsm"* undef) ; <%"Vec3"> [#uses=1]
25   %mrv_gr69 = extractvalue %"Vec3" %0, 1 ; <float> [#uses=1]
26   %1 = fsub float %mrv_gr69, undef                ; <float> [#uses=1]
27   store float %1, float* undef, align 4
28   ret void
29
30 bb72:                                             ; preds = %entry
31   ret void
32
33 bb79:                                             ; preds = %entry
34   ret void
35
36 bb104:                                            ; preds = %entry
37   ret void
38
39 return:                                           ; preds = %entry
40   ret void
41 }