1;RUN: llc -O2 -mtriple=thumbv7a-linux-gnueabihf -arm-implicit-it=always %s -o - | FileCheck %s 2;RUN: llc -O2 -mtriple=thumbv7a-linux-gnueabihf -no-integrated-as %s -o - | FileCheck %s 3 4; Check that we do not produce a CBZ instruction to jump over the inline 5; assembly as the distance is too far if the implicit IT instructions are 6; added. 7 8define void @f0(i32 %p1, i32 %p2, i32 %p3) nounwind { 9entry: 10 %cmp = icmp eq i32 %p1, 0 11 br i1 %cmp, label %if.else, label %if.then 12 13if.then: 14 tail call void asm sideeffect "movseq r0, #0\0A", ""() 15 tail call void asm sideeffect "movseq r0, #0\0A", ""() 16 tail call void asm sideeffect "movseq r0, #0\0A", ""() 17 tail call void asm sideeffect "movseq r0, #0\0A", ""() 18 tail call void asm sideeffect "movseq r0, #0\0A", ""() 19 tail call void asm sideeffect "movseq r0, #0\0A", ""() 20 tail call void asm sideeffect "movseq r0, #0\0A", ""() 21 tail call void asm sideeffect "movseq r0, #0\0A", ""() 22 tail call void asm sideeffect "movseq r0, #0\0A", ""() 23 tail call void asm sideeffect "movseq r0, #0\0A", ""() 24 tail call void asm sideeffect "movseq r0, #0\0A", ""() 25 tail call void asm sideeffect "movseq r0, #0\0A", ""() 26 tail call void asm sideeffect "movseq r0, #0\0A", ""() 27 tail call void asm sideeffect "movseq r0, #0\0A", ""() 28 tail call void asm sideeffect "movseq r0, #0\0A", ""() 29 tail call void asm sideeffect "movseq r0, #0\0A", ""() 30 tail call void asm sideeffect "movseq r0, #0\0A", ""() 31 tail call void asm sideeffect "movseq r0, #0\0A", ""() 32 tail call void asm sideeffect "movseq r0, #0\0A", ""() 33 tail call void asm sideeffect "movseq r0, #0\0A", ""() 34 tail call void asm sideeffect "movseq r0, #0\0A", ""() 35 tail call void asm sideeffect "movseq r0, #0\0A", ""() 36 br label %if.end 37 38if.else: 39 tail call void asm sideeffect "nop\0A", ""() 40 br label %if.end 41 42if.end: 43 ret void 44} 45; CHECK-LABEL: f0: 46; CHECK: beq .LBB0_{{[0-9]+}} 47 48