summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2016-01-15 10:26:17 +0000
committerBradley Smith <bradley.smith@arm.com>2016-01-15 10:26:17 +0000
commita1189106d5a1b9e9ff57ea6fa53c24e891f1d09c (patch)
tree8b948d68b54961bb5d8084f27d023833c2dbd172 /llvm/test
parent519563e371e6d4294b1a62ffe444bf68d6267cc8 (diff)
downloadbcm5719-llvm-a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c.tar.gz
bcm5719-llvm-a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c.zip
[ARM] Add B.W and CBZ instructions to ARMv8-M Baseline
llvm-svn: 257881
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/ARM/fast-tail-call.ll1
-rw-r--r--llvm/test/MC/ARM/thumb1-relax-8m-baseline.s10
-rw-r--r--llvm/test/MC/ARM/thumbv8m.s12
3 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/fast-tail-call.ll b/llvm/test/CodeGen/ARM/fast-tail-call.ll
index 6472016c057..c93028bad50 100644
--- a/llvm/test/CodeGen/ARM/fast-tail-call.ll
+++ b/llvm/test/CodeGen/ARM/fast-tail-call.ll
@@ -1,4 +1,5 @@
; RUN: llc -mtriple=thumbv7-linux-gnueabi -O0 < %s | FileCheck %s
+; RUN: llc -mtriple=thumbv8m.base-arm-none-eabi -filetype=obj < %s
; Primarily a non-crash test: Thumbv7 Linux does not have FastISel support,
; which led (via a convoluted route) to DAG nodes after a TC_RETURN that
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