diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:16:07 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-08-17 18:16:07 -0700 |
commit | fca7cb83f0ecedd1c24d996990c940cd92e87786 (patch) | |
tree | fb1328aa6fbf32661c2a69de344961191d284af7 /src/arch/x86 | |
parent | 247ed2379d92c42d1b52cdda4a8cc80bdb9a239d (diff) | |
download | gem5-fca7cb83f0ecedd1c24d996990c940cd92e87786.tar.xz |
X86: Implement the versions of MOVD that have an MMX source.
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/isa/decoder/two_byte_opcodes.isa | 2 | ||||
-rw-r--r-- | src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index c78021b3c..13de90323 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -740,7 +740,7 @@ 0x0: decode OPCODE_OP_BOTTOM3 { 0x0: vmread_Ed_or_Eq_Gd_or_Gq(); 0x1: vmwrite_Gd_or_Gq_Ed_or_Eq(); - 0x6: mov_Ed_Pd(); + 0x6: Inst::MOVD(Edp,Pdp); 0x7: mov_Qq_Pq(); default: Inst::UD2(); } 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 f6740a0ea..8c555b905 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 @@ -66,6 +66,19 @@ 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 +}; ''' # MOVQ # MOVDQA |