blob: 5f838378fa87ece75cee14972a1739325b73fb60 [file] [log] [blame]
Saleem Abdulrasool8d60fdc2014-05-21 01:25:24 +00001; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s
2
3@_begin = external global i8
4@_end = external global i8
5
6declare arm_aapcs_vfpcc void @force_emission()
7
8define arm_aapcs_vfpcc void @bundle() {
9entry:
10 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
12if.then:
13 tail call arm_aapcs_vfpcc void @force_emission()
14 br label %if.end
15
16if.end:
17 ret void
18}
19
20; CHECK-LABEL: bundle
21; CHECK-NOT: subs r0, r1, r0
22; CHECK: movw r0, :lower16:_begin
23; CHECK-NEXT: movt r0, :upper16:_begin
24; CHECK-NEXT: movw r1, :lower16:_end
25; CHECK-NEXT: movt r1, :upper16:_end
26; CHECK-NEXT: subs r0, r1, r0
27; CHECK-NEXT: cmp r0, #4
28