diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/MC/ARM/thumb-cb-negative-offsets.s | 19 | ||||
| -rw-r--r-- | llvm/test/MC/ARM/thumb-diagnostics.s | 17 |
2 files changed, 36 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/thumb-cb-negative-offsets.s b/llvm/test/MC/ARM/thumb-cb-negative-offsets.s new file mode 100644 index 00000000000..cd70126ea95 --- /dev/null +++ b/llvm/test/MC/ARM/thumb-cb-negative-offsets.s @@ -0,0 +1,19 @@ +@ 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: + .word 4 diff --git a/llvm/test/MC/ARM/thumb-diagnostics.s b/llvm/test/MC/ARM/thumb-diagnostics.s index 5dcac90a901..65d8ed6f073 100644 --- a/llvm/test/MC/ARM/thumb-diagnostics.s +++ b/llvm/test/MC/ARM/thumb-diagnostics.s @@ -235,6 +235,23 @@ error: invalid operand for instruction @ CHECK-ERRORS: error: branch target out of range @------------------------------------------------------------------------------ +@ CBZ/CBNZ - out of range immediates for branches +@------------------------------------------------------------------------------ + + cbz r0, #-2 + cbz r0, #0 + cbz r0, #17 + cbnz r0, #126 + cbnz r0, #128 + +@ CHECK-ERRORS-V7M: error: branch target out of range +@ CHECK-ERRORS-V7M: error: invalid operand for instruction +@ CHECK-ERRORS-V7M: error: branch target out of range +@ CHECK-ERRORS-V8: error: branch target out of range +@ CHECK-ERRORS-V8: error: invalid operand for instruction +@ CHECK-ERRORS-V8: error: branch target out of range + +@------------------------------------------------------------------------------ @ SEV/WFE/WFI/YIELD - are not supported pre v6M or v6T2 @------------------------------------------------------------------------------ sev |

