Thumb2 assembly parsing and encoding for USAX.
authorJim Grosbach <grosbach@apple.com>
Tue, 20 Sep 2011 00:30:45 +0000 (00:30 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 20 Sep 2011 00:30:45 +0000 (00:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140119 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td
test/MC/ARM/basic-thumb2-instructions.s

index a30f761cef49e0bf4a837c79584ac59650fd4ec4..818735561c533b1059aa41543577f16091542455 100644 (file)
@@ -4962,6 +4962,8 @@ def : MnemonicAlias<"uhsubaddx", "uhsax">;
 def : MnemonicAlias<"uqaddsubx", "uqasx">;
 // UQSAX == UQSUBADDX
 def : MnemonicAlias<"uqsubaddx", "uqsax">;
+// USAX == USUBADDX
+def : MnemonicAlias<"usubaddx", "usax">;
 
 // LDRSBT/LDRHT/LDRSHT post-index offset if optional.
 // Note that the write-back output register is a dummy operand for MC (it's
index 3732fd264e575ac97420c4a259b63ba83fe0a892..8c69056ac7ab60f6fb310109eb13b7b3f2efd6ae 100644 (file)
@@ -2912,3 +2912,21 @@ _func:
 
 @ CHECK: usat16        r2, #2, r7              @ encoding: [0xa7,0xf3,0x02,0x02]
 @ CHECK: usat16        r3, #15, r5             @ encoding: [0xa5,0xf3,0x0f,0x03]
+
+
+@------------------------------------------------------------------------------
+@ USAX
+@------------------------------------------------------------------------------
+        usax r2, r3, r4
+        it ne
+        usaxne r6, r1, r9
+        usubaddx r2, r3, r4
+        it ne
+        usubaddxne r6, r1, r9
+
+@ CHECK: usax  r2, r3, r4              @ encoding: [0xe3,0xfa,0x44,0xf2]
+@ CHECK: it    ne                      @ encoding: [0x18,0xbf]
+@ CHECK: usaxne        r6, r1, r9              @ encoding: [0xe1,0xfa,0x49,0xf6]
+@ CHECK: usax  r2, r3, r4              @ encoding: [0xe3,0xfa,0x44,0xf2]
+@ CHECK: it    ne                      @ encoding: [0x18,0xbf]
+@ CHECK: usaxne        r6, r1, r9              @ encoding: [0xe1,0xfa,0x49,0xf6]