1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=aarch64-apple-ios7.0 -disable-block-placement -aarch64-tbz-offset-bits=4 -o - %s | FileCheck %s
3 define i32 @test_asm_length(i32 %in) {
4 ; It would be more natural to use just one "tbnz %false" here, but if the
5 ; number of instructions in the asm is counted reasonably, that block is out
6 ; of the limited range we gave tbz. So branch relaxation has to invert the
8 ; CHECK-LABEL: test_asm_length:
10 ; CHECK-NEXT: tbz w0, #0, LBB0_2
11 ; CHECK-NEXT: ; %bb.1:
12 ; CHECK-NEXT: mov w0, wzr
14 ; CHECK-NEXT: LBB0_2: ; %true
15 ; CHECK-NEXT: mov w0, #4
16 ; CHECK-NEXT: ; InlineAsm Start
23 ; CHECK-NEXT: ; InlineAsm End
26 %tst = icmp eq i32 %val, 0
27 br i1 %tst, label %true, label %false
30 call void asm sideeffect "nop\0A\09nop\0A\09nop\0A\09nop\0A\09nop\0A\09nop", ""()