diff options
author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2013-11-08 16:17:14 +0000 |
---|---|---|
committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2013-11-08 16:17:14 +0000 |
commit | c5c991bf314fb0b9f3b591a0c18d4a45efcfe392 (patch) | |
tree | 1f8be5d6986c5d385bdb5e905304807f37e5476f /test/MC | |
parent | fa840ba402806d978c18401c6bea1c808607d944 (diff) | |
download | external_llvm-c5c991bf314fb0b9f3b591a0c18d4a45efcfe392.zip external_llvm-c5c991bf314fb0b9f3b591a0c18d4a45efcfe392.tar.gz external_llvm-c5c991bf314fb0b9f3b591a0c18d4a45efcfe392.tar.bz2 |
[ARM] Handling for coprocessor instructions that are undefined starting from ARMv8 (ARM encodings)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194262 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/Disassembler/ARM/invalid-armv8.txt | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/test/MC/Disassembler/ARM/invalid-armv8.txt b/test/MC/Disassembler/ARM/invalid-armv8.txt new file mode 100644 index 0000000..772ff1d --- /dev/null +++ b/test/MC/Disassembler/ARM/invalid-armv8.txt @@ -0,0 +1,167 @@ +# RUN: not llvm-mc -triple armv8 -show-encoding -disassemble %s 2>&1 | FileCheck %s + +# Coprocessors other than CP10, CP11, CP14 and CP15 are undefined in ARMv8; +# but in ARMv7, all these instructions are valid + +# RUN: llvm-mc -triple armv7 -show-encoding -disassemble %s | FileCheck %s --check-prefix=CHECK-V7 + +[0x00 0x01 0x00 0xee] +# CHECK-V7: cdp +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x00 0xee] + +[0x00 0x0e 0x00 0xee] +# CHECK-V7: cdp +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x00 0xee] + +[0x00 0x0f 0x00 0xee] +# CHECK-V7: cdp +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x00 0xee] + +[0x00 0x01 0x00 0xfe] +# CHECK-V7: cdp2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x00 0xfe] + +[0x00 0x0e 0x00 0xfe] +# CHECK-V7: cdp2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x00 0xfe] + +[0x00 0x0f 0x00 0xfe] +# CHECK-V7: cdp2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x00 0xfe] + +[0x10 0x01 0x00 0xee] +# CHECK-V7: mcr +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x01 0x00 0xee] + +[0x10 0x01 0x00 0xfe] +# CHECK-V7: mcr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x01 0x00 0xfe] + +[0x10 0x0e 0x00 0xfe] +# CHECK-V7: mcr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x0e 0x00 0xfe] + +[0x10 0x0f 0x00 0xfe] +# CHECK-V7: mcr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x0f 0x00 0xfe] + +[0x10 0x01 0x10 0xee] +# CHECK-V7: mrc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x01 0x10 0xee] + +[0x10 0x01 0x10 0xfe] +# CHECK-V7: mrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x01 0x10 0xfe] + +[0x10 0x0e 0x10 0xfe] +# CHECK-V7: mrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x0e 0x10 0xfe] + +[0x10 0x0f 0x10 0xfe] +# CHECK-V7: mrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x10 0x0f 0x10 0xfe] + +[0x00 0x01 0x40 0xec] +# CHECK-V7: mcrr +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x40 0xec] + +[0x00 0x01 0x40 0xfc] +# CHECK-V7: mcrr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x40 0xfc] + +[0x00 0x0e 0x40 0xfc] +# CHECK-V7: mcrr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x40 0xfc] + +[0x00 0x0f 0x40 0xfc] +# CHECK-V7: mcrr2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x40 0xfc] + +[0x00 0x01 0x50 0xec] +# CHECK-V7: mrrc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x50 0xec] + +[0x00 0x0e 0x50 0xfc] +# CHECK-V7: mrrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x50 0xfc] + +[0x00 0x0f 0x50 0xfc] +# CHECK-V7: mrrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x50 0xfc] + +[0x00 0x01 0x50 0xfc] +# CHECK-V7: mrrc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x50 0xfc] + +[0x00 0x01 0x80 0xec] +# CHECK-V7: stc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x80 0xec] + +[0x00 0x0f 0x80 0xec] +# CHECK-V7: stc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x80 0xec] + +[0x00 0x01 0x80 0xfc] +# CHECK-V7: stc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x80 0xfc] + +[0x00 0x0e 0x80 0xfc] +# CHECK-V7: stc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x80 0xfc] + +[0x00 0x0f 0x80 0xfc] +# CHECK-V7: stc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x80 0xfc] + +[0x00 0x01 0x90 0xec] +# CHECK-V7: ldc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x90 0xec] + +[0x00 0x0f 0x90 0xec] +# CHECK-V7: ldc +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x90 0xec] + +[0x00 0x01 0x90 0xfc] +# CHECK-V7: ldc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x01 0x90 0xfc] + +[0x00 0x0e 0x90 0xfc] +# CHECK-V7: ldc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0e 0x90 0xfc] + +[0x00 0x0f 0x90 0xfc] +# CHECK-V7: ldc2 +# CHECK: invalid instruction encoding +# CHECK-NEXT: [0x00 0x0f 0x90 0xfc] + |