aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-08-22 23:31:45 +0000
committerOwen Anderson <resistor@mac.com>2011-08-22 23:31:45 +0000
commitc6788c83b491b502482bf7d9a06b403d07f9e77e (patch)
tree23726140a10b46d1133ccb8b555918b01976de83
parent22d35086fec34fa106d844b9b2204d7c3c20d8bc (diff)
t2SMLAD is a four-register instruction, not a three-register one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138301 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td2
-rw-r--r--test/MC/Disassembler/ARM/thumb-tests.txt3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index 783a84eab3..90df7c6cd0 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -2457,7 +2457,7 @@ def t2SMUSDX:T2ThreeReg_mac<
Requires<[IsThumb2, HasThumb2DSP]> {
let Inst{15-12} = 0b1111;
}
-def t2SMLAD : T2ThreeReg_mac<
+def t2SMLAD : T2FourReg_mac<
0, 0b010, 0b0000, (outs rGPR:$Rd),
(ins rGPR:$Rn, rGPR:$Rm, rGPR:$Ra), IIC_iMAC32, "smlad",
"\t$Rd, $Rn, $Rm, $Ra", []>,
diff --git a/test/MC/Disassembler/ARM/thumb-tests.txt b/test/MC/Disassembler/ARM/thumb-tests.txt
index 144cb492ec..d93e75e9f3 100644
--- a/test/MC/Disassembler/ARM/thumb-tests.txt
+++ b/test/MC/Disassembler/ARM/thumb-tests.txt
@@ -283,3 +283,6 @@
# CHECK: usat16 r4, #10, r1
0xa1 0xf3 0x2a 0x4
+
+# CHECK: smlad r5, r12, r8, r11
+0x2c 0xfb 0x8 0xb5