diff options
author | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:17 +0000 |
---|---|---|
committer | Bradley Smith <bradley.smith@arm.com> | 2016-01-15 10:26:17 +0000 |
commit | a1189106d5a1b9e9ff57ea6fa53c24e891f1d09c (patch) | |
tree | 8b948d68b54961bb5d8084f27d023833c2dbd172 /llvm/test | |
parent | 519563e371e6d4294b1a62ffe444bf68d6267cc8 (diff) | |
download | bcm5719-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.ll | 1 | ||||
-rw-r--r-- | llvm/test/MC/ARM/thumb1-relax-8m-baseline.s | 10 | ||||
-rw-r--r-- | llvm/test/MC/ARM/thumbv8m.s | 12 |
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 |