Xamarin Public Jenkins (auto-signing) e19d552987 Imported Upstream version 5.18.0.161
Former-commit-id: 4db48158d3a35497b8f118ab21b5f08ac3d86d98
2018-10-19 08:34:24 +00:00

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