From 24496060e533048b33e148ec6c503efb62b9fb87 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 17 Aug 2009 18:17:29 -0700 Subject: X86: Implement the MOVQ instruction. --- .../insts/simd128/integer/data_transfer/move.py | 48 +++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) (limited to 'src/arch/x86/isa/insts') 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 -- cgit v1.2.3