summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/ARM
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/MC/ARM')
-rw-r--r--llvm/test/MC/ARM/thumb1-relax-8m-baseline.s10
-rw-r--r--llvm/test/MC/ARM/thumbv8m.s12
2 files changed, 22 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/thumb1-relax-8m-baseline.s b/llvm/test/MC/ARM/thumb1-relax-8m-baseline.s
new file mode 100644
index 00000000000..e9c88bb462c
--- /dev/null
+++ b/llvm/test/MC/ARM/thumb1-relax-8m-baseline.s
@@ -0,0 +1,10 @@
+@ RUN: not llvm-mc -triple thumbv6m-none-eabi -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s --check-prefix=CHECK-V6M
+@ RUN: llvm-mc -triple thumbv8m.base-none-eabi -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s --check-prefix=CHECK-V8MBASE --allow-empty
+
+@ CHECK-V8MBASE-NOT: out of range pc-relative fixup value
+@ CHECK-V6M: out of range pc-relative fixup value
+ b Lfar2
+
+ .space 2050
+Lfar2:
+ .word 42
diff --git a/llvm/test/MC/ARM/thumbv8m.s b/llvm/test/MC/ARM/thumbv8m.s
index f61d00f1055..41f6dc911f6 100644
--- a/llvm/test/MC/ARM/thumbv8m.s
+++ b/llvm/test/MC/ARM/thumbv8m.s
@@ -23,6 +23,18 @@ isb sy
// 'Code optimization'
+// CHECK: cbz r3, .Ltmp0 @ encoding: [0x03'A',0xb1'A']
+// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb
+cbz r3, 1f
+
+// CHECK: cbnz r3, .Ltmp0 @ encoding: [0x03'A',0xb9'A']
+// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_arm_thumb_cb
+cbnz r3, 1f
+
+// CHECK: b.w .Ltmp0 @ encoding: [A,0xf0'A',A,0x90'A']
+// CHECK-NEXT: @ fixup A - offset: 0, value: .Ltmp0, kind: fixup_t2_uncondbranch
+b.w 1f
+
// CHECK: sdiv r1, r2, r3 @ encoding: [0x92,0xfb,0xf3,0xf1]
sdiv r1, r2, r3
OpenPOWER on IntegriCloud