mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-04 01:11:44 +00:00
67e1ff026d
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
39 lines
764 B
ArmAsm
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
|