summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAmaury de la Vieuville <amaury.dlv@gmail.com>2013-06-11 08:03:20 +0000
committerAmaury de la Vieuville <amaury.dlv@gmail.com>2013-06-11 08:03:20 +0000
commit3862709058ecfe809c9d4b32e3bff0efe8ebe646 (patch)
treeb6f5a061634fb2d37619210168d617f6fb48e46d /test
parentc139672407b6ad8d2929fd0c52591216fd32b4b6 (diff)
downloadllvm-3862709058ecfe809c9d4b32e3bff0efe8ebe646.tar.gz
llvm-3862709058ecfe809c9d4b32e3bff0efe8ebe646.tar.bz2
llvm-3862709058ecfe809c9d4b32e3bff0efe8ebe646.tar.xz
ARM: Fix STREX/LDREX reecoding
The decoded MCInst wasn't reencoded as the same instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183729 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/Disassembler/ARM/arm-LDREXD-reencoding.txt14
-rw-r--r--test/MC/Disassembler/ARM/arm-STREXD-reencoding.txt14
2 files changed, 28 insertions, 0 deletions
diff --git a/test/MC/Disassembler/ARM/arm-LDREXD-reencoding.txt b/test/MC/Disassembler/ARM/arm-LDREXD-reencoding.txt
new file mode 100644
index 0000000000..e73d4ce88e
--- /dev/null
+++ b/test/MC/Disassembler/ARM/arm-LDREXD-reencoding.txt
@@ -0,0 +1,14 @@
+# RUN: llvm-mc -triple armv7 -show-encoding -disassemble < %s | FileCheck %s
+
+0x9f 0x0f 0xb0 0xe1
+0x9f 0xcf 0xb1 0xe1
+0x9f 0xcf 0xb3 0xe1
+0x9f 0x8f 0xbd 0xe1
+0x9f 0xcf 0xbe 0xe1
+
+# CHECK: ldrexd r0, r1, [r0] @ encoding: [0x9f,0x0f,0xb0,0xe1]
+# CHECK: ldrexd r12, sp, [r1] @ encoding: [0x9f,0xcf,0xb1,0xe1]
+# CHECK: ldrexd r12, sp, [r3] @ encoding: [0x9f,0xcf,0xb3,0xe1]
+# CHECK: ldrexd r8, r9, [sp] @ encoding: [0x9f,0x8f,0xbd,0xe1]
+# CHECK: ldrexd r12, sp, [lr] @ encoding: [0x9f,0xcf,0xbe,0xe1]
+
diff --git a/test/MC/Disassembler/ARM/arm-STREXD-reencoding.txt b/test/MC/Disassembler/ARM/arm-STREXD-reencoding.txt
new file mode 100644
index 0000000000..27944ac8bc
--- /dev/null
+++ b/test/MC/Disassembler/ARM/arm-STREXD-reencoding.txt
@@ -0,0 +1,14 @@
+# RUN: llvm-mc -triple armv7 -show-encoding -disassemble < %s | FileCheck %s
+
+0x92 0x1f 0xa0 0xe1
+0x90 0x4f 0xa3 0xe1
+0x92 0xdf 0xa4 0xe1
+0x90 0xaf 0xa6 0xe1
+0x9c 0x5f 0xa8 0xe1
+
+# CHECK: strexd r1, r2, r3, [r0] @ encoding: [0x92,0x1f,0xa0,0xe1]
+# CHECK: strexd r4, r0, r1, [r3] @ encoding: [0x90,0x4f,0xa3,0xe1]
+# CHECK: strexd sp, r2, r3, [r4] @ encoding: [0x92,0xdf,0xa4,0xe1]
+# CHECK: strexd r10, r0, r1, [r6] @ encoding: [0x90,0xaf,0xa6,0xe1]
+# CHECK: strexd r5, r12, sp, [r8] @ encoding: [0x9c,0x5f,0xa8,0xe1]
+