From 80b4456feca5f6ae8767f9a17b4438aba30bc3e9 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 17 Aug 2009 18:27:30 -0700 Subject: X86: Move the MMX version of MOVD into the simd64 directory. --- .../insts/simd128/integer/data_transfer/move.py | 48 -------------------- .../isa/insts/simd64/integer/data_transfer/move.py | 51 ++++++++++++++++++++-- 2 files changed, 48 insertions(+), 51 deletions(-) (limited to 'src/arch') 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 3cad6e1a7..ef5c49337 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 @@ -54,32 +54,6 @@ # Authors: Gabe Black microcode = ''' -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_XMM_XMM { movfp xmml, xmmlm lfpimm xmmh, 0 @@ -104,28 +78,6 @@ 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 -}; ''' # MOVDQA # MOVDQU 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 -''' -- cgit v1.2.3