summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsInstrFormats.td
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-08-12 13:07:23 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-08-12 13:07:23 +0000
commit809313970fc98bba6f36a332adfa3e5fef4110b3 (patch)
tree1620db87768204660ebce15615e016b652ea1ab2 /lib/Target/Mips/MipsInstrFormats.td
parentdcef6a7400d51526a04a18e274bd579da262e9ad (diff)
downloadllvm-809313970fc98bba6f36a332adfa3e5fef4110b3.tar.gz
llvm-809313970fc98bba6f36a332adfa3e5fef4110b3.tar.bz2
llvm-809313970fc98bba6f36a332adfa3e5fef4110b3.tar.xz
This patch implements ei and di instructions for mips. Test cases are added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188176 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsInstrFormats.td')
-rw-r--r--lib/Target/Mips/MipsInstrFormats.td18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsInstrFormats.td b/lib/Target/Mips/MipsInstrFormats.td
index 1322784879..28abb7eb74 100644
--- a/lib/Target/Mips/MipsInstrFormats.td
+++ b/lib/Target/Mips/MipsInstrFormats.td
@@ -520,6 +520,24 @@ class ER_FM<bits<6> funct>
let Inst{5-0} = funct;
}
+
+//===----------------------------------------------------------------------===//
+// Enable/disable interrupt instruction format <Cop0|MFMC0|rt|12|0|sc|0|0>
+//===----------------------------------------------------------------------===//
+
+class EI_FM<bits<1> sc>
+{
+ bits<32> Inst;
+ bits<5> rt;
+ let Inst{31-26} = 0x10;
+ let Inst{25-21} = 0xb;
+ let Inst{20-16} = rt;
+ let Inst{15-11} = 0xc;
+ let Inst{10-6} = 0;
+ let Inst{5} = sc;
+ let Inst{4-0} = 0;
+}
+
//===----------------------------------------------------------------------===//
//
// FLOATING POINT INSTRUCTION FORMATS