summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsDSPInstrFormats.td
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-04-18 00:52:44 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-04-18 00:52:44 +0000
commit26aef5b7d64e2dd2ed49123baf1e1075b648824f (patch)
treedebdc4fc1f522e6bf496d2f0d50fd88561da2a6d /lib/Target/Mips/MipsDSPInstrFormats.td
parent86924b4182537745659f2660244f3402c1e1ca4d (diff)
downloadllvm-26aef5b7d64e2dd2ed49123baf1e1075b648824f.tar.gz
llvm-26aef5b7d64e2dd2ed49123baf1e1075b648824f.tar.bz2
llvm-26aef5b7d64e2dd2ed49123baf1e1075b648824f.tar.xz
[mips] DSP-ASE move from HI/LO register instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179739 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsDSPInstrFormats.td')
-rw-r--r--lib/Target/Mips/MipsDSPInstrFormats.td27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsDSPInstrFormats.td b/lib/Target/Mips/MipsDSPInstrFormats.td
index a72a763fde..cf09113cd8 100644
--- a/lib/Target/Mips/MipsDSPInstrFormats.td
+++ b/lib/Target/Mips/MipsDSPInstrFormats.td
@@ -219,6 +219,33 @@ class MULT_FMT<bits<6> opcode, bits<6> funct> : DSPInst {
let Inst{5-0} = funct;
}
+// MFHI sub-class format.
+class MFHI_FMT<bits<6> funct> : DSPInst {
+ bits<5> rd;
+ bits<2> ac;
+
+ let Inst{31-26} = 0;
+ let Inst{25-23} = 0;
+ let Inst{22-21} = ac;
+ let Inst{20-16} = 0;
+ let Inst{15-11} = rd;
+ let Inst{10-6} = 0;
+ let Inst{5-0} = funct;
+}
+
+// MTHI sub-class format.
+class MTHI_FMT<bits<6> funct> : DSPInst {
+ bits<5> rs;
+ bits<2> ac;
+
+ let Inst{31-26} = 0;
+ let Inst{25-21} = rs;
+ let Inst{20-13} = 0;
+ let Inst{12-11} = ac;
+ let Inst{10-6} = 0;
+ let Inst{5-0} = funct;
+}
+
// EXTR.W sub-class format (type 1).
class EXTR_W_TY1_FMT<bits<5> op> : DSPInst {
bits<5> rt;