Thumb2 assembly parsing and encoding for UASX.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140085 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2011-09-19 23:05:22 +00:00
parent 39b4166d85
commit 4032eaf98c
2 changed files with 20 additions and 0 deletions

View 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

View 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]