diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-08-24 21:21:29 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-08-24 21:21:29 +0000 |
| commit | 9c3633f516fbc995abc46f4d0684d0a0411ccaca (patch) | |
| tree | 2cf8a3203e2dad0d56c81243e720507e1025333e /llvm/test/MC/ARM | |
| parent | 8e7ea9ddb5bab4724216ce824b924d5349b6a703 (diff) | |
| download | bcm5719-llvm-9c3633f516fbc995abc46f4d0684d0a0411ccaca.tar.gz bcm5719-llvm-9c3633f516fbc995abc46f4d0684d0a0411ccaca.zip | |
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
Diffstat (limited to 'llvm/test/MC/ARM')
| -rw-r--r-- | llvm/test/MC/ARM/thumb-cb-offsets.s (renamed from llvm/test/MC/ARM/thumb-cb-negative-offsets.s) | 7 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/thumb-cb-thumbfunc.s | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/thumb-cb-negative-offsets.s b/llvm/test/MC/ARM/thumb-cb-offsets.s index 8abff68de14..3a70d4479fd 100644 --- a/llvm/test/MC/ARM/thumb-cb-negative-offsets.s +++ b/llvm/test/MC/ARM/thumb-cb-offsets.s @@ -24,6 +24,13 @@ label1: 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 diff --git a/llvm/test/MC/ARM/thumb-cb-thumbfunc.s b/llvm/test/MC/ARM/thumb-cb-thumbfunc.s new file mode 100644 index 00000000000..12995f2a449 --- /dev/null +++ b/llvm/test/MC/ARM/thumb-cb-thumbfunc.s @@ -0,0 +1,8 @@ +@ RUN: llvm-mc -triple thumbv7-apple-macho -filetype=obj -o %t %s +@ RUN: llvm-objdump -d -triple thumbv7 %t | FileCheck %s + +@ CHECK: cbnz r0, #0 + .thumb_func label4 + cbnz r0, label4 + .space 2 +label4: |

