aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-09-15 18:13:30 +0000
committerJim Grosbach <grosbach@apple.com>2011-09-15 18:13:30 +0000
commit1b69a128d6b98456c666b4031cc46c3d0fbe6177 (patch)
treec3b86bb7fac543da6b2904a8aa48eab2efde5891
parent4bab3c77102954380c923505c413a2df7aca48eb (diff)
Thumb2 assembly parsing and encoding for REV.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139813 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td2
-rw-r--r--test/MC/ARM/basic-thumb2-instructions.s16
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index fbc95ee96c..9467f36f98 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -3841,3 +3841,5 @@ def : t2InstAlias<"push${p} $regs", (t2STMDB_UPD SP, pred:$p, reglist:$regs)>;
def : t2InstAlias<"pop${p}.w $regs", (t2LDMIA_UPD SP, pred:$p, reglist:$regs)>;
def : t2InstAlias<"pop${p} $regs", (t2LDMIA_UPD SP, pred:$p, reglist:$regs)>;
+// Alias for REV without the ".w" optional width specifier.
+def : t2InstAlias<"rev${p} $Rd, $Rm", (t2REV rGPR:$Rd, rGPR:$Rm, pred:$p)>;
diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s
index 9facc0ca60..9723407bbb 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -1426,6 +1426,22 @@ _func:
@------------------------------------------------------------------------------
+@ REV
+@------------------------------------------------------------------------------
+ rev.w r1, r2
+ rev r2, r8
+ itt ne
+ revne r1, r2
+ revne r1, r8
+
+@ CHECK: rev.w r1, r2 @ encoding: [0x92,0xfa,0x82,0xf1]
+@ CHECK: rev.w r2, r8 @ encoding: [0x98,0xfa,0x88,0xf2]
+@ CHECK: itt ne @ encoding: [0x1c,0xbf]
+@ CHECK: revne r1, r2 @ encoding: [0x11,0xba]
+@ CHECK: revne.w r1, r8 @ encoding: [0x98,0xfa,0x88,0xf1]
+
+
+@------------------------------------------------------------------------------
@ SUB (register)
@------------------------------------------------------------------------------
sub.w r5, r2, r12, rrx