xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/arm64-2011-03-09-CPSRSpill.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=arm64-apple-darwin
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker; Can't copy or spill / restore CPSR.
4*9880d681SAndroid Build Coastguard Worker; rdar://9105206
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine fastcc void @t() ssp align 2 {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb3.i, label %bb2.i
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerbb2.i:                                            ; preds = %entry
11*9880d681SAndroid Build Coastguard Worker  br label %bb3.i
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerbb3.i:                                            ; preds = %bb2.i, %entry
14*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %_ZN12gjkepa2_impl3EPA6appendERNS0_5sListEPNS0_5sFaceE.exit71, label %bb.i69
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Workerbb.i69:                                           ; preds = %bb3.i
17*9880d681SAndroid Build Coastguard Worker  br label %_ZN12gjkepa2_impl3EPA6appendERNS0_5sListEPNS0_5sFaceE.exit71
18*9880d681SAndroid Build Coastguard Worker
19*9880d681SAndroid Build Coastguard Worker_ZN12gjkepa2_impl3EPA6appendERNS0_5sListEPNS0_5sFaceE.exit71: ; preds = %bb.i69, %bb3.i
20*9880d681SAndroid Build Coastguard Worker  %0 = select i1 undef, float 0.000000e+00, float undef
21*9880d681SAndroid Build Coastguard Worker  %1 = fdiv float %0, undef
22*9880d681SAndroid Build Coastguard Worker  %2 = fcmp ult float %1, 0xBF847AE140000000
23*9880d681SAndroid Build Coastguard Worker  %storemerge9 = select i1 %2, float %1, float 0.000000e+00
24*9880d681SAndroid Build Coastguard Worker  store float %storemerge9, float* undef, align 4
25*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb42, label %bb47
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerbb42:                                             ; preds = %_ZN12gjkepa2_impl3EPA6appendERNS0_5sListEPNS0_5sFaceE.exit71
28*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb46, label %bb53
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Workerbb46:                                             ; preds = %bb42
31*9880d681SAndroid Build Coastguard Worker  br label %bb48
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Workerbb47:                                             ; preds = %_ZN12gjkepa2_impl3EPA6appendERNS0_5sListEPNS0_5sFaceE.exit71
34*9880d681SAndroid Build Coastguard Worker  br label %bb48
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard Workerbb48:                                             ; preds = %bb47, %bb46
37*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %bb1.i14, label %bb.i13
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard Workerbb.i13:                                           ; preds = %bb48
40*9880d681SAndroid Build Coastguard Worker  br label %bb1.i14
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Workerbb1.i14:                                          ; preds = %bb.i13, %bb48
43*9880d681SAndroid Build Coastguard Worker  br label %bb53
44*9880d681SAndroid Build Coastguard Worker
45*9880d681SAndroid Build Coastguard Workerbb53:                                             ; preds = %bb1.i14, %bb42
46*9880d681SAndroid Build Coastguard Worker  ret void
47*9880d681SAndroid Build Coastguard Worker}
48