29 lines
725 B
LLVM
29 lines
725 B
LLVM
; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
|
|
|
|
@_begin = external global i8
|
|
@_end = external global i8
|
|
|
|
declare arm_aapcs_vfpcc void @force_emission()
|
|
|
|
define arm_aapcs_vfpcc void @bundle() {
|
|
entry:
|
|
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
|
|
|
|
if.then:
|
|
tail call arm_aapcs_vfpcc void @force_emission()
|
|
br label %if.end
|
|
|
|
if.end:
|
|
ret void
|
|
}
|
|
|
|
; CHECK-LABEL: bundle
|
|
; CHECK-NOT: subs r0, r1, r0
|
|
; CHECK: movw r0, :lower16:_begin
|
|
; CHECK-NEXT: movt r0, :upper16:_begin
|
|
; CHECK-NEXT: movw r1, :lower16:_end
|
|
; CHECK-NEXT: movt r1, :upper16:_end
|
|
; CHECK-NEXT: subs r0, r1, r0
|
|
; CHECK-NEXT: cmp r0, #4
|
|
|