[llvm-commits] [llvm] r140111 - in /llvm/trunk: lib/Target/ARM/ARMInstrInfo.td test/MC/ARM/basic-thumb2-instructions.s
Jim Grosbach
grosbach at apple.com
Mon Sep 19 17:18:52 PDT 2011
Author: grosbach
Date: Mon Sep 19 19:18:52 2011
New Revision: 140111
URL: http://llvm.org/viewvc/llvm-project?rev=140111&view=rev
Log:
Thumb2 assembly parsing and encoding for UQASX/UQSAX.
Modified:
llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s
Modified: llvm/trunk/lib/Target/ARM/ARMInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?rev=140111&r1=140110&r2=140111&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrInfo.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrInfo.td Mon Sep 19 19:18:52 2011
@@ -4958,6 +4958,10 @@
def : MnemonicAlias<"uhaddsubx", "uhasx">;
// UHSAX == UHSUBADDX
def : MnemonicAlias<"uhsubaddx", "uhsax">;
+// UQASX == UQADDSUBX
+def : MnemonicAlias<"uqaddsubx", "uqasx">;
+// UQSAX == UQSUBADDX
+def : MnemonicAlias<"uqsubaddx", "uqsax">;
// LDRSBT/LDRHT/LDRSHT post-index offset if optional.
// Note that the write-back output register is a dummy operand for MC (it's
Modified: llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s?rev=140111&r1=140110&r2=140111&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s (original)
+++ llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s Mon Sep 19 19:18:52 2011
@@ -2826,3 +2826,31 @@
@ CHECK: ite gt @ encoding: [0xcc,0xbf]
@ CHECK: uqadd16gt r4, r7, r9 @ encoding: [0x97,0xfa,0x59,0xf4]
@ CHECK: uqadd8le r8, r1, r2 @ encoding: [0x81,0xfa,0x52,0xf8]
+
+
+ at ------------------------------------------------------------------------------
+@ UQASX/UQSAX
+ at ------------------------------------------------------------------------------
+ uqasx r1, r2, r3
+ uqsax r3, r4, r8
+ ite gt
+ uqasxgt r4, r7, r9
+ uqsaxle r8, r1, r2
+
+ uqaddsubx r1, r2, r3
+ uqsubaddx r3, r4, r8
+ ite gt
+ uqaddsubxgt r4, r7, r9
+ uqsubaddxle r8, r1, r2
+
+@ CHECK: uqasx r1, r2, r3 @ encoding: [0xa2,0xfa,0x53,0xf1]
+@ CHECK: uqsax r3, r4, r8 @ encoding: [0xe4,0xfa,0x58,0xf3]
+@ CHECK: ite gt @ encoding: [0xcc,0xbf]
+@ CHECK: uqasxgt r4, r7, r9 @ encoding: [0xa7,0xfa,0x59,0xf4]
+@ CHECK: uqsaxle r8, r1, r2 @ encoding: [0xe1,0xfa,0x52,0xf8]
+
+@ CHECK: uqasx r1, r2, r3 @ encoding: [0xa2,0xfa,0x53,0xf1]
+@ CHECK: uqsax r3, r4, r8 @ encoding: [0xe4,0xfa,0x58,0xf3]
+@ CHECK: ite gt @ encoding: [0xcc,0xbf]
+@ CHECK: uqasxgt r4, r7, r9 @ encoding: [0xa7,0xfa,0x59,0xf4]
+@ CHECK: uqsaxle r8, r1, r2 @ encoding: [0xe1,0xfa,0x52,0xf8]
More information about the llvm-commits
mailing list