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

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

index 7ec28e5d536da1add582ed8eec4e35cb893957d9..e325825e9e221b4125286541c9a06524b7faf2cf 100644 (file)
@@ -4954,6 +4954,10 @@ def : MnemonicAlias<"shsubaddx", "shsax">;
 def : MnemonicAlias<"ssubaddx", "ssax">;
 // UASX == UADDSUBX
 def : MnemonicAlias<"uaddsubx", "uasx">;
+// UHASX == UHADDSUBX
+def : MnemonicAlias<"uhaddsubx", "uhasx">;
+// UHSAX == UHSUBADDX
+def : MnemonicAlias<"uhsubaddx", "uhsax">;
 
 // LDRSBT/LDRHT/LDRSHT post-index offset if optional.
 // Note that the write-back output register is a dummy operand for MC (it's
index 24c35b6d2dffda2d75b8e2b1a16b43f48c75712c..15a8f90d0fb0e659046fb11c91db4aee8cb9a65b 100644 (file)
@@ -2732,3 +2732,29 @@ _func:
 @ CHECK: itt   gt                      @ encoding: [0xc4,0xbf]
 @ CHECK: uhadd16gt     r4, r8, r2      @ encoding: [0x98,0xfa,0x62,0xf4]
 @ CHECK: uhadd8gt      r4, r8, r2      @ encoding: [0x88,0xfa,0x62,0xf4]
+
+
+@------------------------------------------------------------------------------
+@ UHASX/UHSAX
+@------------------------------------------------------------------------------
+        uhasx r4, r1, r5
+        uhsax r5, r6, r6
+        itt gt
+        uhasxgt r6, r9, r8
+        uhsaxgt r7, r8, r12
+        uhaddsubx r4, r1, r5
+        uhsubaddx r5, r6, r6
+        itt gt
+        uhaddsubxgt r6, r9, r8
+        uhsubaddxgt r7, r8, r12
+
+@ CHECK: uhasx r4, r1, r5              @ encoding: [0xa1,0xfa,0x65,0xf4]
+@ CHECK: uhsax r5, r6, r6              @ encoding: [0xe6,0xfa,0x66,0xf5]
+@ CHECK: itt   gt                      @ encoding: [0xc4,0xbf]
+@ CHECK: uhasxgt r6, r9, r8             @ encoding: [0xa9,0xfa,0x68,0xf6]
+@ CHECK: uhsaxgt r7, r8, r12            @ encoding: [0xe8,0xfa,0x6c,0xf7]
+@ CHECK: uhasx r4, r1, r5              @ encoding: [0xa1,0xfa,0x65,0xf4]
+@ CHECK: uhsax r5, r6, r6              @ encoding: [0xe6,0xfa,0x66,0xf5]
+@ CHECK: itt   gt                      @ encoding: [0xc4,0xbf]
+@ CHECK: uhasxgt r6, r9, r8             @ encoding: [0xa9,0xfa,0x68,0xf6]
+@ CHECK: uhsaxgt r7, r8, r12            @ encoding: [0xe8,0xfa,0x6c,0xf7]