summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoran Jovanovic <zoran.jovanovic@imgtec.com>2014-01-15 13:17:33 +0000
committerZoran Jovanovic <zoran.jovanovic@imgtec.com>2014-01-15 13:17:33 +0000
commit814c8910f20ec0f1c1d0a06676e9f2ce643a0480 (patch)
tree8278e06f5555ea3f31d3382136b6e32d71e75cda
parentf5c2d3896b8af35409b7c1b11c3811c459b0ccd1 (diff)
downloadllvm-814c8910f20ec0f1c1d0a06676e9f2ce643a0480.tar.gz
llvm-814c8910f20ec0f1c1d0a06676e9f2ce643a0480.tar.bz2
llvm-814c8910f20ec0f1c1d0a06676e9f2ce643a0480.tar.xz
LL and SC decoder method fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199316 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/Mips/MicroMipsInstrInfo.td7
-rw-r--r--test/MC/Disassembler/Mips/micromips.txt6
-rw-r--r--test/MC/Disassembler/Mips/micromips_le.txt6
3 files changed, 15 insertions, 4 deletions
diff --git a/lib/Target/Mips/MicroMipsInstrInfo.td b/lib/Target/Mips/MicroMipsInstrInfo.td
index ffcf48bf98..aec4a314f0 100644
--- a/lib/Target/Mips/MicroMipsInstrInfo.td
+++ b/lib/Target/Mips/MicroMipsInstrInfo.td
@@ -48,16 +48,15 @@ class StoreLeftRightMM<string opstr, SDNode OpNode, RegisterOperand RO,
class LLBaseMM<string opstr, RegisterOperand RO> :
InstSE<(outs RO:$rt), (ins mem_mm_12:$addr),
!strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
- let DecoderMethod = "DecodeMem";
+ let DecoderMethod = "DecodeMemMMImm12";
let mayLoad = 1;
}
class SCBaseMM<string opstr, RegisterOperand RO> :
- InstSE<(outs RO:$dst), (ins RO:$rt, mem_mm_12:$addr),
+ InstSE<(outs), (ins RO:$rt, mem_mm_12:$addr),
!strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
- let DecoderMethod = "DecodeMem";
+ let DecoderMethod = "DecodeMemMMImm12";
let mayStore = 1;
- let Constraints = "$rt = $dst";
}
class LoadMM<string opstr, DAGOperand RO, SDPatternOperator OpNode = null_frag,
diff --git a/test/MC/Disassembler/Mips/micromips.txt b/test/MC/Disassembler/Mips/micromips.txt
index 91d06162a1..1458ce2ed4 100644
--- a/test/MC/Disassembler/Mips/micromips.txt
+++ b/test/MC/Disassembler/Mips/micromips.txt
@@ -288,3 +288,9 @@
# CHECK: tnei $9, 17767
0x41 0x89 0x45 0x67
+
+# CHECK: ll $2, 8($4)
+0x60 0x44 0x30 0x08
+
+# CHECK: sc $2, 8($4)
+0x60 0x44 0xb0 0x08
diff --git a/test/MC/Disassembler/Mips/micromips_le.txt b/test/MC/Disassembler/Mips/micromips_le.txt
index f32eb38c14..bdfe88eaff 100644
--- a/test/MC/Disassembler/Mips/micromips_le.txt
+++ b/test/MC/Disassembler/Mips/micromips_le.txt
@@ -288,3 +288,9 @@
# CHECK: tnei $9, 17767
0x89 0x41 0x67 0x45
+
+# CHECK: ll $2, 8($4)
+0x44 0x60 0x08 0x30
+
+# CHECK: sc $2, 8($4)
+0x44 0x60 0x08 0xb0