summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/MipsInstrFormats.td
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-07-10 10:18:10 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-07-10 10:18:10 +0000
commite84de1e1014fde0ba410666c7ee3422b151079ed (patch)
tree54329a7264928b79730f3a12c4b2c5d9f3343d34 /llvm/lib/Target/Mips/MipsInstrFormats.td
parent28c1b294b84fdb261c264525c62931ec8cbe0b8f (diff)
downloadbcm5719-llvm-e84de1e1014fde0ba410666c7ee3422b151079ed.tar.gz
bcm5719-llvm-e84de1e1014fde0ba410666c7ee3422b151079ed.zip
Add support for Mips break and syscall insructions. The corresponding test cases are added.
llvm-svn: 185999
Diffstat (limited to 'llvm/lib/Target/Mips/MipsInstrFormats.td')
-rw-r--r--llvm/lib/Target/Mips/MipsInstrFormats.td28
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsInstrFormats.td b/llvm/lib/Target/Mips/MipsInstrFormats.td
index 14cfcf96d34..6073476af2c 100644
--- a/llvm/lib/Target/Mips/MipsInstrFormats.td
+++ b/llvm/lib/Target/Mips/MipsInstrFormats.td
@@ -491,6 +491,34 @@ class TEQ_FM<bits<6> funct> {
}
//===----------------------------------------------------------------------===//
+// System calls format <op|code_|funct>
+//===----------------------------------------------------------------------===//
+
+class SYS_FM<bits<6> funct>
+{
+ bits<20> code_;
+ bits<32> Inst;
+ let Inst{31-26} = 0x0;
+ let Inst{25-6} = code_;
+ let Inst{5-0} = funct;
+}
+
+//===----------------------------------------------------------------------===//
+// Break instruction format <op|code_1|funct>
+//===----------------------------------------------------------------------===//
+
+class BRK_FM<bits<6> funct>
+{
+ bits<10> code_1;
+ bits<10> code_2;
+ bits<32> Inst;
+ let Inst{31-26} = 0x0;
+ let Inst{25-16} = code_1;
+ let Inst{15-6} = code_2;
+ let Inst{5-0} = funct;
+}
+
+//===----------------------------------------------------------------------===//
//
// FLOATING POINT INSTRUCTION FORMATS
//
OpenPOWER on IntegriCloud