1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple thumbv7-windows-itanium -filetype asm -o - %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker@_begin = external global i8 4*9880d681SAndroid Build Coastguard Worker@_end = external global i8 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Workerdeclare arm_aapcs_vfpcc void @force_emission() 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine arm_aapcs_vfpcc void @bundle() { 9*9880d681SAndroid Build Coastguard Workerentry: 10*9880d681SAndroid Build Coastguard Worker 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*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerif.then: 13*9880d681SAndroid Build Coastguard Worker tail call arm_aapcs_vfpcc void @force_emission() 14*9880d681SAndroid Build Coastguard Worker br label %if.end 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Workerif.end: 17*9880d681SAndroid Build Coastguard Worker ret void 18*9880d681SAndroid Build Coastguard Worker} 19*9880d681SAndroid Build Coastguard Worker 20*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: bundle 21*9880d681SAndroid Build Coastguard Worker; CHECK-NOT: subs r0, r1, r0 22*9880d681SAndroid Build Coastguard Worker; CHECK: movw r0, :lower16:_begin 23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movt r0, :upper16:_begin 24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movw r1, :lower16:_end 25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movt r1, :upper16:_end 26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: subs r0, r1, r0 27*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: cmp r0, #4 28*9880d681SAndroid Build Coastguard Worker 29