Thumb2 assembly parsing and encoding for SMLSLD/SMLSLDX.
authorJim Grosbach <grosbach@apple.com>
Fri, 16 Sep 2011 17:10:44 +0000 (17:10 +0000)
committerJim Grosbach <grosbach@apple.com>
Fri, 16 Sep 2011 17:10:44 +0000 (17:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139909 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 3183d7629d45d2e79a34056b06e0a7d9619a1d90..0eb8514eaaa6e3a0492eb42eddc5ae2394a83707 100644 (file)
@@ -2632,12 +2632,12 @@ def t2SMLALDX : T2FourReg_mac<1, 0b100, 0b1101, (outs rGPR:$Ra,rGPR:$Rd),
                         "\t$Ra, $Rd, $Rn, $Rm", []>,
           Requires<[IsThumb2, HasThumb2DSP]>;
 def t2SMLSLD  : T2FourReg_mac<1, 0b101, 0b1100, (outs rGPR:$Ra,rGPR:$Rd),
-                        (ins rGPR:$Rm,rGPR:$Rn), IIC_iMAC64, "smlsld",
-                        "\t$Ra, $Rd, $Rm, $Rn", []>,
+                        (ins rGPR:$Rn,rGPR:$Rm), IIC_iMAC64, "smlsld",
+                        "\t$Ra, $Rd, $Rn, $Rm", []>,
           Requires<[IsThumb2, HasThumb2DSP]>;
 def t2SMLSLDX : T2FourReg_mac<1, 0b101, 0b1101, (outs rGPR:$Ra,rGPR:$Rd),
                         (ins rGPR:$Rm,rGPR:$Rn), IIC_iMAC64, "smlsldx",
-                        "\t$Ra, $Rd, $Rm, $Rn", []>,
+                        "\t$Ra, $Rd, $Rn, $Rm", []>,
           Requires<[IsThumb2, HasThumb2DSP]>;
 
 //===----------------------------------------------------------------------===//
index b47ed573e8d5ec61d75681033d8eb0e547303a59..e0be0690ba9f560f3c3749179bfe5ec6579e7e32 100644 (file)
@@ -1870,6 +1870,22 @@ _func:
 @ CHECK: smlsdxgt      r2, r3, r5, r8  @ encoding: [0x43,0xfb,0x15,0x82]
 
 
+@------------------------------------------------------------------------------
+@ SMLSLD/SMLSLDX
+@------------------------------------------------------------------------------
+        smlsld r2, r9, r5, r1
+        smlsldx r4, r11, r2, r8
+        ite ge
+        smlsldge r8, r2, r5, r6
+        smlsldxlt r1, r0, r3, r8
+
+@ CHECK: smlsld        r2, r9, r5, r1          @ encoding: [0xd5,0xfb,0xc1,0x29]
+@ CHECK: smlsldx       r4, r11, r2, r8 @ encoding: [0xd2,0xfb,0xd8,0x4b]
+@ CHECK: ite   ge                      @ encoding: [0xac,0xbf]
+@ CHECK: smlsldge      r8, r2, r5, r6  @ encoding: [0xd5,0xfb,0xc6,0x82]
+@ CHECK: smlsldxlt     r1, r0, r3, r8  @ encoding: [0xd3,0xfb,0xd8,0x10]
+
+
 @------------------------------------------------------------------------------
 @ SUB (register)
 @------------------------------------------------------------------------------