• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; 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
29