llvm-mirror/test/MC/ARM/thumb-cb-offsets.s
Tim Northover 67e1ff026d ARM: don't diagnose cbz/cbnz to Thumb functions.
A branch-distance to a Thumb function shouldn't be forced to be odd for
CBZ/CBNZ instructions because (assuming it's within range), it's going to be a
valid, even offset.

llvm-svn: 279665
2016-08-24 21:21:29 +00:00

39 lines
764 B
ArmAsm

@ RUN: not llvm-mc -triple thumbv7m-none-eabi -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s
@ RUN: not llvm-mc -triple thumbv8m.base-none-eabi -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s
label0:
.word 4
@ CHECK: out of range pc-relative fixup value
cbz r0, label0
@ CHECK: out of range pc-relative fixup value
cbnz r0, label0
@ CHECK: out of range pc-relative fixup value
cbz r0, label1
@ CHECK: out of range pc-relative fixup value
cbnz r0, label1
.space 1000
label1:
nop
@ CHECK: out of range pc-relative fixup value
cbz r0, label2
.space 130
label2:
nop
@ CHECK: out of range pc-relative fixup value
cbz r0, label4
.space 33
label4:
nop
.align 2
@ CHECK-NOT: label3
cbnz r0, label3
.space 128
label3:
nop