xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/Windows/mov32t-bundling.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker@_begin = external global i8
4*9880d681SAndroid Build Coastguard Worker@_end = external global i8
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdeclare arm_aapcs_vfpcc void @force_emission()
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc void @bundle() {
9*9880d681SAndroid Build Coastguard Workerentry:
10*9880d681SAndroid Build Coastguard Worker  br i1 icmp uge (i32 sub (i32 ptrtoint (i8* @_end to i32), i32 ptrtoint (i8* @_begin to i32)), i32 4), label %if.then, label %if.end
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerif.then:
13*9880d681SAndroid Build Coastguard Worker  tail call arm_aapcs_vfpcc void @force_emission()
14*9880d681SAndroid Build Coastguard Worker  br label %if.end
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Workerif.end:
17*9880d681SAndroid Build Coastguard Worker  ret void
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: bundle
21*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: subs r0, r1, r0
22*9880d681SAndroid Build Coastguard Worker; CHECK: movw r0, :lower16:_begin
23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movt r0, :upper16:_begin
24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movw r1, :lower16:_end
25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movt r1, :upper16:_end
26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: subs r0, r1, r0
27*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: cmp r0, #4
28*9880d681SAndroid Build Coastguard Worker
29