summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-09-15 21:01:23 +0000
committerJim Grosbach <grosbach@apple.com>2011-09-15 21:01:23 +0000
commite4e4a93e9ec6040b6466bf067d5e02533471f093 (patch)
tree5ec08f4263268378e7596527879472862fb90ff6
parentb0598b14aa011a18e6a760e448741f62018fb4a3 (diff)
downloadllvm-e4e4a93e9ec6040b6466bf067d5e02533471f093.tar.gz
llvm-e4e4a93e9ec6040b6466bf067d5e02533471f093.tar.bz2
llvm-e4e4a93e9ec6040b6466bf067d5e02533471f093.tar.xz
Thumb2 assembly parsing and encoding for SASX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139843 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td2
-rw-r--r--test/MC/ARM/basic-thumb2-instructions.s18
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 245536f945..72793e0e33 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -4944,6 +4944,8 @@ def : MnemonicAlias<"srs", "srsia">;
// QSAX == QSUBADDX
def : MnemonicAlias<"qsubaddx", "qsax">;
+// SASX == SADDSUBX
+def : MnemonicAlias<"saddsubx", "sasx">;
// LDRSBT/LDRHT/LDRSHT post-index offset if optional.
// Note that the write-back output register is a dummy operand for MC (it's
diff --git a/test/MC/ARM/basic-thumb2-instructions.s b/test/MC/ARM/basic-thumb2-instructions.s
index 0d5d2d3192..3011ab768d 100644
--- a/test/MC/ARM/basic-thumb2-instructions.s
+++ b/test/MC/ARM/basic-thumb2-instructions.s
@@ -1579,6 +1579,24 @@ _func:
@------------------------------------------------------------------------------
+@ SASX
+@------------------------------------------------------------------------------
+ saddsubx r9, r2, r7
+ it ne
+ saddsubxne r2, r5, r6
+ sasx r9, r2, r7
+ it ne
+ sasxne r2, r5, r6
+
+@ CHECK: sasx r9, r2, r7 @ encoding: [0xa2,0xfa,0x07,0xf9]
+@ CHECK: it ne @ encoding: [0x18,0xbf]
+@ CHECK: sasxne r2, r5, r6 @ encoding: [0xa5,0xfa,0x06,0xf2]
+@ CHECK: sasx r9, r2, r7 @ encoding: [0xa2,0xfa,0x07,0xf9]
+@ CHECK: it ne @ encoding: [0x18,0xbf]
+@ CHECK: sasxne r2, r5, r6 @ encoding: [0xa5,0xfa,0x06,0xf2]
+
+
+@------------------------------------------------------------------------------
@ SUB (register)
@------------------------------------------------------------------------------
sub.w r5, r2, r12, rrx