summaryrefslogtreecommitdiff
path: root/lib/Target/Mips/MipsInstrFPU.td
diff options
context:
space:
mode:
authorVladimir Medic <Vladimir.Medic@imgtec.com>2013-09-16 10:29:42 +0000
committerVladimir Medic <Vladimir.Medic@imgtec.com>2013-09-16 10:29:42 +0000
commite925f7dbbf497412cd0cc3f67b9b96fed0cc3712 (patch)
treed437b605c6c2a28eebc0587ab88f8342319ef300 /lib/Target/Mips/MipsInstrFPU.td
parent9bc7603750926c15648dae0d31a5451861a0d11e (diff)
downloadllvm-e925f7dbbf497412cd0cc3f67b9b96fed0cc3712.tar.gz
llvm-e925f7dbbf497412cd0cc3f67b9b96fed0cc3712.tar.bz2
llvm-e925f7dbbf497412cd0cc3f67b9b96fed0cc3712.tar.xz
This patch implements Mips load/store instructions from/to coprocessor 2. Test cases are added.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190780 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsInstrFPU.td')
-rw-r--r--lib/Target/Mips/MipsInstrFPU.td8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsInstrFPU.td b/lib/Target/Mips/MipsInstrFPU.td
index 7aa080ff64..9f7ce9aa72 100644
--- a/lib/Target/Mips/MipsInstrFPU.td
+++ b/lib/Target/Mips/MipsInstrFPU.td
@@ -372,6 +372,14 @@ let Predicates = [NotFP64bit, HasStdEnc] in {
def SDC1 : SW_FT<"sdc1", AFGR64Opnd, IIFStore, store>, LW_FM<0x3d>;
}
+/// Cop2 Memory Instructions
+let Predicates = [HasStdEnc] in {
+ def LWC2 : LW_FT<"lwc2", COP2Opnd, NoItinerary, load>, LW_FM<0x32>;
+ def SWC2 : SW_FT<"swc2", COP2Opnd, NoItinerary, store>, LW_FM<0x3a>;
+ def LDC2 : LW_FT<"ldc2", COP2Opnd, NoItinerary, load>, LW_FM<0x36>;
+ def SDC2 : SW_FT<"sdc2", COP2Opnd, NoItinerary, store>, LW_FM<0x3e>;
+}
+
// Indexed loads and stores.
let Predicates = [HasFPIdx, HasStdEnc] in {
def LWXC1 : LWXC1_FT<"lwxc1", FGR32Opnd, IIFLoad, load>, LWXC1_FM<0>;