[mlir][acc] Introduce MappableType interface (#122146)
[llvm-project.git] / llvm / test / CodeGen / ARM / Windows / mov32t-bundling.ll
blob2f5a51a5a301aa28f7cc800f76e3a1260be309dc
1 ; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
3 @_begin = external global i8
4 @_end = external global i8
6 declare arm_aapcs_vfpcc void @force_emission()
8 define arm_aapcs_vfpcc void @bundle() {
9 entry:
10   %cmp = icmp uge i32 sub (i32 ptrtoint (ptr @_end to i32), i32 ptrtoint (ptr @_begin to i32)), 4
11   br i1 %cmp, label %if.then, label %if.end
13 if.then:
14   tail call arm_aapcs_vfpcc void @force_emission()
15   br label %if.end
17 if.end:
18   ret void
21 ; CHECK-LABEL: bundle
22 ; CHECK-NOT: subs r0, r1, r0
23 ; CHECK: movw r0, :lower16:_begin
24 ; CHECK-NEXT: movt r0, :upper16:_begin
25 ; CHECK-NEXT: movw r1, :lower16:_end
26 ; CHECK-NEXT: movt r1, :upper16:_end
27 ; CHECK-NEXT: subs r0, r1, r0
28 ; CHECK-NEXT: cmp r0, #4