xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/2009-11-30-LiveVariablesBug.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=armv7-eabi -mcpu=cortex-a8 < %s
2*9880d681SAndroid Build Coastguard Worker; PR5614
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker%"als" = type { i32 (...)** }
5*9880d681SAndroid Build Coastguard Worker%"av" = type { %"als" }
6*9880d681SAndroid Build Coastguard Worker%"c" = type { %"lsm", %"Vec3", %"av"*, float, i8, float, %"lsm", i8, %"Vec3", %"Vec3", %"Vec3", float, float, float, %"Vec3", %"Vec3" }
7*9880d681SAndroid Build Coastguard Worker%"lsm" = type { %"als", %"Vec3", %"Vec3", %"Vec3", %"Vec3" }
8*9880d681SAndroid Build Coastguard Worker%"Vec3" = type { float, float, float }
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc void @foo(%"c"* %this, %"Vec3"* nocapture %adjustment) {
11*9880d681SAndroid Build Coastguard Workerentry:
12*9880d681SAndroid Build Coastguard Worker  switch i32 undef, label %return [
13*9880d681SAndroid Build Coastguard Worker    i32 1, label %bb
14*9880d681SAndroid Build Coastguard Worker    i32 2, label %bb72
15*9880d681SAndroid Build Coastguard Worker    i32 3, label %bb31
16*9880d681SAndroid Build Coastguard Worker    i32 4, label %bb79
17*9880d681SAndroid Build Coastguard Worker    i32 5, label %bb104
18*9880d681SAndroid Build Coastguard Worker  ]
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerbb:                                               ; preds = %entry
21*9880d681SAndroid Build Coastguard Worker  ret void
22*9880d681SAndroid Build Coastguard Worker
23*9880d681SAndroid Build Coastguard Workerbb31:                                             ; preds = %entry
24*9880d681SAndroid Build Coastguard Worker  %0 = call arm_aapcs_vfpcc  %"Vec3" undef(%"lsm"* undef) ; <%"Vec3"> [#uses=1]
25*9880d681SAndroid Build Coastguard Worker  %mrv_gr69 = extractvalue %"Vec3" %0, 1 ; <float> [#uses=1]
26*9880d681SAndroid Build Coastguard Worker  %1 = fsub float %mrv_gr69, undef                ; <float> [#uses=1]
27*9880d681SAndroid Build Coastguard Worker  store float %1, float* undef, align 4
28*9880d681SAndroid Build Coastguard Worker  ret void
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Workerbb72:                                             ; preds = %entry
31*9880d681SAndroid Build Coastguard Worker  ret void
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerbb79:                                             ; preds = %entry
34*9880d681SAndroid Build Coastguard Worker  ret void
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerbb104:                                            ; preds = %entry
37*9880d681SAndroid Build Coastguard Worker  ret void
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerreturn:                                           ; preds = %entry
40*9880d681SAndroid Build Coastguard Worker  ret void
41*9880d681SAndroid Build Coastguard Worker}
42