diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:17:29 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:17:29 -0700 |
commit | 24496060e533048b33e148ec6c503efb62b9fb87 (patch) | |
tree | 9e03d6326b2336d5270176e06ae941b0a2c31642 /src/arch/x86/isa/insts/simd128/integer | |
parent | f1bfa9d6e409447ad5dfa48d077e832f425f4858 (diff) | |
download | gem5-24496060e533048b33e148ec6c503efb62b9fb87.tar.xz |
X86: Implement the MOVQ instruction.
Diffstat (limited to 'src/arch/x86/isa/insts/simd128/integer')
-rw-r--r-- | src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py b/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py index 8c555b905..3cad6e1a7 100644 --- a/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py +++ b/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py @@ -79,8 +79,54 @@ def macroop MOVD_P_MMX { rdip t7 stfp mmx, seg, riprel, disp, dataSize=8 }; + +def macroop MOVQ_XMM_XMM { + movfp xmml, xmmlm + lfpimm xmmh, 0 +}; + +def macroop MOVQ_XMM_M { + ldfp xmml, seg, sib, disp, dataSize=8 + lfpimm xmmh, 0 +}; + +def macroop MOVQ_XMM_P { + rdip t7 + ldfp xmml, seg, riprel, disp, dataSize=8 + lfpimm xmmh, 0 +}; + +def macroop MOVQ_M_XMM { + stfp xmml, seg, sib, disp, dataSize=8 +}; + +def macroop MOVQ_P_XMM { + rdip t7 + stfp xmml, 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 +}; ''' -# MOVQ # MOVDQA # MOVDQU # MOVDQ2Q |