summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-09-08 22:07:06 +0000
committerJim Grosbach <grosbach@apple.com>2011-09-08 22:07:06 +0000
commita77295db19527503d6b290e4f34f273d0a789365 (patch)
tree0e8bbf22b44dd8b031c1d516d4abcdf668b1ea7d /test
parent7ec8fb8830108574b58c85c740d1857ccd2b0aba (diff)
downloadllvm-a77295db19527503d6b290e4f34f273d0a789365.tar.gz
llvm-a77295db19527503d6b290e4f34f273d0a789365.tar.bz2
llvm-a77295db19527503d6b290e4f34f273d0a789365.tar.xz
Thumb2 assembly parsing and encoding for LDRD(immediate).
Refactor operand handling for STRD as well. Tests for that forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139322 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/MC/ARM/basic-thumb2-instructions.s18
-rw-r--r--test/MC/Disassembler/ARM/invalid-LDRD_PRE-thumb.txt1
2 files changed, 18 insertions, 1 deletions
diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s
index ecf363f246..99758258a6 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -630,6 +630,24 @@ _func:
@------------------------------------------------------------------------------
+@ LDRD(immediate)
+@------------------------------------------------------------------------------
+ ldrd r3, r5, [r6, #24]
+ ldrd r3, r5, [r6, #24]!
+ ldrd r3, r5, [r6], #4
+ ldrd r3, r5, [r6], #-8
+ ldrd r3, r5, [r6]
+ ldrd r8, r1, [r3, #0]
+
+@ CHECK: ldrd r3, r5, [r6, #24] @ encoding: [0xd6,0xe9,0x06,0x35]
+@ CHECK: ldrd r3, r5, [r6, #24]! @ encoding: [0xf6,0xe9,0x06,0x35]
+@ CHECK: ldrd r3, r5, [r6], #4 @ encoding: [0xf6,0xe8,0x01,0x35]
+@ CHECK: ldrd r3, r5, [r6], #-8 @ encoding: [0x76,0xe8,0x02,0x35]
+@ CHECK: ldrd r3, r5, [r6] @ encoding: [0xd6,0xe9,0x00,0x35]
+@ CHECK: ldrd r8, r1, [r3] @ encoding: [0xd3,0xe9,0x00,0x81]
+
+
+@------------------------------------------------------------------------------
@ IT
@------------------------------------------------------------------------------
@ Test encodings of a few full IT blocks, not just the IT instruction
diff --git a/test/MC/Disassembler/ARM/invalid-LDRD_PRE-thumb.txt b/test/MC/Disassembler/ARM/invalid-LDRD_PRE-thumb.txt
index 5ad32808e0..7ea1b46795 100644
--- a/test/MC/Disassembler/ARM/invalid-LDRD_PRE-thumb.txt
+++ b/test/MC/Disassembler/ARM/invalid-LDRD_PRE-thumb.txt
@@ -1,5 +1,4 @@
# RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 |& grep {invalid instruction encoding}
-# XFAIL: *
# Opcode=1930 Name=t2LDRD_PRE Format=ARM_FORMAT_THUMBFRM(25)
# 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0