48 lines · plain
1;RUN: llc -O2 -mtriple=thumbv7a-linux-gnueabihf -arm-implicit-it=always %s -o - | FileCheck %s2;RUN: llc -O2 -mtriple=thumbv7a-linux-gnueabihf -no-integrated-as %s -o - | FileCheck %s3 4; Check that we do not produce a CBZ instruction to jump over the inline5; assembly as the distance is too far if the implicit IT instructions are6; added.7 8define void @f0(i32 %p1, i32 %p2, i32 %p3) nounwind {9entry:10 %cmp = icmp eq i32 %p1, 011 br i1 %cmp, label %if.else, label %if.then12 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.end37 38if.else:39 tail call void asm sideeffect "nop\0A", ""()40 br label %if.end41 42if.end:43 ret void44}45; CHECK-LABEL: f0:46; CHECK: beq .LBB0_{{[0-9]+}}47 48