From e4e4a93e9ec6040b6466bf067d5e02533471f093 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Thu, 15 Sep 2011 21:01:23 +0000 Subject: [PATCH] Thumb2 assembly parsing and encoding for SASX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139843 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.td | 2 ++ test/MC/ARM/basic-thumb2-instructions.s | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 245536f9450..72793e0e333 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 0d5d2d31927..3011ab768d5 100644 --- a/test/MC/ARM/basic-thumb2-instructions.s +++ b/test/MC/ARM/basic-thumb2-instructions.s @@ -1578,6 +1578,24 @@ _func: @ CHECK: sadd8ne r3, r4, r8 @ encoding: [0x84,0xfa,0x08,0xf3] +@------------------------------------------------------------------------------ +@ 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) @------------------------------------------------------------------------------