summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MicroMipsInstrFormats.td
diff options
context:
space:
mode:
authorZoran Jovanovic <zoran.jovanovic@imgtec.com>2013-09-14 06:49:25 +0000
committerZoran Jovanovic <zoran.jovanovic@imgtec.com>2013-09-14 06:49:25 +0000
commit47b33528d1b4298bf8cc5dcca8b531dfd0e704bb (patch)
tree3b09b82495b8592175ac7663257fb9ca965b9f6b /lib/Target/Mips/MicroMipsInstrFormats.td
parent58b90b1e38ec6f5d6f11afae1cf3097dc8fb49aa (diff)
downloadllvm-47b33528d1b4298bf8cc5dcca8b531dfd0e704bb.tar.gz
llvm-47b33528d1b4298bf8cc5dcca8b531dfd0e704bb.tar.bz2
llvm-47b33528d1b4298bf8cc5dcca8b531dfd0e704bb.tar.xz
Support for misc microMIPS instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190744 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MicroMipsInstrFormats.td')
-rw-r--r--lib/Target/Mips/MicroMipsInstrFormats.td42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Target/Mips/MicroMipsInstrFormats.td b/lib/Target/Mips/MicroMipsInstrFormats.td
index 6d8d29e46d..0b82ef8941 100644
--- a/lib/Target/Mips/MicroMipsInstrFormats.td
+++ b/lib/Target/Mips/MicroMipsInstrFormats.td
@@ -162,3 +162,45 @@ class MFLO_FM_MM<bits<10> funct> : MMArch {
let Inst{15-6} = funct;
let Inst{5-0} = 0x3c;
}
+
+class CLO_FM_MM<bits<10> funct> : MMArch {
+ bits<5> rd;
+ bits<5> rs;
+
+ bits<32> Inst;
+
+ let Inst{31-26} = 0x00;
+ let Inst{25-21} = rd;
+ let Inst{20-16} = rs;
+ let Inst{15-6} = funct;
+ let Inst{5-0} = 0x3c;
+}
+
+class SEB_FM_MM<bits<10> funct> : MMArch {
+ bits<5> rd;
+ bits<5> rt;
+
+ bits<32> Inst;
+
+ let Inst{31-26} = 0x00;
+ let Inst{25-21} = rd;
+ let Inst{20-16} = rt;
+ let Inst{15-6} = funct;
+ let Inst{5-0} = 0x3c;
+}
+
+class EXT_FM_MM<bits<6> funct> : MMArch {
+ bits<5> rt;
+ bits<5> rs;
+ bits<5> pos;
+ bits<5> size;
+
+ bits<32> Inst;
+
+ let Inst{31-26} = 0x00;
+ let Inst{25-21} = rt;
+ let Inst{20-16} = rs;
+ let Inst{15-11} = size;
+ let Inst{10-6} = pos;
+ let Inst{5-0} = funct;
+}