Thumb2 assembly parsing and encoding for UASX.
authorJim Grosbach <grosbach@apple.com>
Mon, 19 Sep 2011 23:05:22 +0000 (23:05 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 19 Sep 2011 23:05:22 +0000 (23:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140085 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 1a5acfe1cc6876117e9dd8aee66d0d26275df416..7ec28e5d536da1add582ed8eec4e35cb893957d9 100644 (file)
@@ -4952,6 +4952,8 @@ def : MnemonicAlias<"shaddsubx", "shasx">;
 def : MnemonicAlias<"shsubaddx", "shsax">;
 // SSAX == SSUBADDX
 def : MnemonicAlias<"ssubaddx", "ssax">;
+// UASX == UADDSUBX
+def : MnemonicAlias<"uaddsubx", "uasx">;
 
 // LDRSBT/LDRHT/LDRSHT post-index offset if optional.
 // Note that the write-back output register is a dummy operand for MC (it's
index 65299ca231f8829e80ddefe31ee86918acd1b3ad..892cdafaf95798d8d45e33cd8fd9f9234806639b 100644 (file)
@@ -2686,3 +2686,21 @@ _func:
 @ CHECK: ite   gt                      @ encoding: [0xcc,0xbf]
 @ CHECK: uadd16gt      r1, r2, r3      @ encoding: [0x92,0xfa,0x43,0xf1]
 @ CHECK: uadd8le       r1, r2, r3      @ encoding: [0x82,0xfa,0x43,0xf1]
+
+
+@------------------------------------------------------------------------------
+@ UASX
+@------------------------------------------------------------------------------
+        uasx r9, r12, r0
+        it eq
+        uasxeq r9, r12, r0
+        uaddsubx r9, r12, r0
+        it eq
+        uaddsubxeq r9, r12, r0
+
+@ CHECK: uasx  r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]
+@ CHECK: it    eq                      @ encoding: [0x08,0xbf]
+@ CHECK: uasxeq        r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]
+@ CHECK: uasx  r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]
+@ CHECK: it    eq                      @ encoding: [0x08,0xbf]
+@ CHECK: uasxeq        r9, r12, r0             @ encoding: [0xac,0xfa,0x40,0xf9]