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