summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts/simd64
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-08-17 18:27:30 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-08-17 18:27:30 -0700
commit80b4456feca5f6ae8767f9a17b4438aba30bc3e9 (patch)
tree59bf1a24820614847bc439479c65dc3b598e5da0 /src/arch/x86/isa/insts/simd64
parent63403bd5628e722aa51045b86176a035ddd9eb75 (diff)
downloadgem5-80b4456feca5f6ae8767f9a17b4438aba30bc3e9.tar.xz
X86: Move the MMX version of MOVD into the simd64 directory.
Diffstat (limited to 'src/arch/x86/isa/insts/simd64')
-rw-r--r--src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py51
1 files changed, 48 insertions, 3 deletions
diff --git a/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py b/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
index e60273022..f35a1e4c8 100644
--- a/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
@@ -54,8 +54,53 @@
# Authors: Gabe Black
microcode = '''
-# MOVD
-# MOVQ
+def macroop MOVD_MMX_R {
+ mov2fp mmx, regm, srcSize=dsz, destSize=8
+};
+
+def macroop MOVD_MMX_M {
+ ldfp mmx, seg, sib, disp, dataSize=8
+};
+
+def macroop MOVD_MMX_P {
+ rdip t7
+ ldfp mmx, seg, riprel, disp, dataSize=8
+};
+
+def macroop MOVD_R_MMX {
+ mov2int reg, mmxm, size=dsz
+};
+
+def macroop MOVD_M_MMX {
+ stfp mmx, seg, sib, disp, dataSize=8
+};
+
+def macroop MOVD_P_MMX {
+ rdip t7
+ stfp mmx, seg, riprel, disp, dataSize=8
+};
+
+def macroop MOVQ_MMX_MMX {
+ movfp mmx, mmxm
+};
+
+def macroop MOVQ_MMX_M {
+ ldfp mmx, seg, sib, disp, dataSize=8
+};
+
+def macroop MOVQ_MMX_P {
+ rdip t7
+ ldfp mmx, seg, riprel, disp, dataSize=8
+};
+
+def macroop MOVQ_M_MMX {
+ stfp mmx, seg, sib, disp, dataSize=8
+};
+
+def macroop MOVQ_P_MMX {
+ rdip t7
+ stfp mmx, seg, riprel, disp, dataSize=8
+};
+'''
# MOVDQ2Q
# MOVQ2DQ
-'''