summaryrefslogtreecommitdiffstats
path: root/lib/Target/Mips/Mips16InstrFormats.td
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Target/Mips/Mips16InstrFormats.td')
-rw-r--r--lib/Target/Mips/Mips16InstrFormats.td18
1 files changed, 16 insertions, 2 deletions
diff --git a/lib/Target/Mips/Mips16InstrFormats.td b/lib/Target/Mips/Mips16InstrFormats.td
index 4ff62ef..da3a1f1 100644
--- a/lib/Target/Mips/Mips16InstrFormats.td
+++ b/lib/Target/Mips/Mips16InstrFormats.td
@@ -61,7 +61,7 @@ class MipsInst16<dag outs, dag ins, string asmstr, list<dag> pattern,
// Top 5 bits are the 'opcode' field
let Inst{15-11} = Opcode;
-
+
let Size=2;
field bits<16> SoftFail = 0;
}
@@ -74,7 +74,7 @@ class MipsInst16_32<dag outs, dag ins, string asmstr, list<dag> pattern,
MipsInst16_Base<outs, ins, asmstr, pattern, itin>
{
field bits<32> Inst;
-
+
let Size=4;
field bits<32> SoftFail = 0;
}
@@ -148,6 +148,20 @@ class FRR16<bits<5> _funct, dag outs, dag ins, string asmstr,
let Inst{4-0} = funct;
}
+class FRRBreak16<dag outs, dag ins, string asmstr,
+ list<dag> pattern, InstrItinClass itin>:
+ MipsInst16<outs, ins, asmstr, pattern, itin>
+{
+ bits<6> Code;
+ bits<5> funct;
+
+ let Opcode = 0b11101;
+ let funct = 0b00101;
+
+ let Inst{10-5} = Code;
+ let Inst{4-0} = funct;
+}
+
//
// For conversion functions.
//
OpenPOWER on IntegriCloud