Thumb2: MUL two-operand form encoding operand order fix.
authorJim Grosbach <grosbach@apple.com>
Tue, 6 Dec 2011 05:03:45 +0000 (05:03 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 6 Dec 2011 05:03:45 +0000 (05:03 +0000)
Fix the alias to encode 'mul r5, r6' as if it were 'mul r5, r6, r5' so we
match gas.

rdar://10532439

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145922 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 6129fa307c40b9a286c2c7d885eaf0f1291806f3..f204f0d9e8cc1f874a8be23796145edbf06daa1f 100644 (file)
@@ -4088,4 +4088,4 @@ def : t2InstAlias<"mov${p} $Rd, $imm",
 
 // Wide 'mul' encoding can be specified with only two operands.
 def : t2InstAlias<"mul${p} $Rn, $Rm",
-                  (t2MUL rGPR:$Rn, rGPR:$Rn, rGPR:$Rm, pred:$p)>;
+                  (t2MUL rGPR:$Rn, rGPR:$Rm, rGPR:$Rn, pred:$p)>;
index 5de5104ac30134bcebe9c0f790065e71c169e105..e2f7527b6c532b126f61bc62f46a065aea886703 100644 (file)
@@ -1236,7 +1236,7 @@ _func:
         muleq r3, r4, r5
         it le
         mulle r4, r4, r8
-        mul r6, r5
+        mul r5, r6
 
 @ CHECK: muls  r3, r4, r3              @ encoding: [0x63,0x43]
 @ CHECK: mul   r3, r4, r3              @ encoding: [0x04,0xfb,0x03,0xf3]
@@ -1245,7 +1245,7 @@ _func:
 @ CHECK: muleq r3, r4, r5              @ encoding: [0x04,0xfb,0x05,0xf3]
 @ CHECK: it    le                      @ encoding: [0xd8,0xbf]
 @ CHECK: mulle r4, r4, r8              @ encoding: [0x04,0xfb,0x08,0xf4]
-@ CHECK: mul   r6, r6, r5              @ encoding: [0x06,0xfb,0x05,0xf6]
+@ CHECK: mul   r5, r6, r5              @ encoding: [0x06,0xfb,0x05,0xf5]
 
 
 @------------------------------------------------------------------------------