diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:27:30 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:27:30 -0700 |
commit | 80b4456feca5f6ae8767f9a17b4438aba30bc3e9 (patch) | |
tree | 59bf1a24820614847bc439479c65dc3b598e5da0 /src/arch/x86/isa/insts/simd64 | |
parent | 63403bd5628e722aa51045b86176a035ddd9eb75 (diff) | |
download | gem5-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.py | 51 |
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 -''' |