From 56d87cdc088dced1084aba3ccb23e1ed143a0346 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 17 Aug 2009 20:25:14 -0700 Subject: X86: Implement MOVQ2DQ. --- src/arch/x86/isa/decoder/two_byte_opcodes.isa | 2 +- src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src/arch/x86') diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index ba150232e..f88ea89d4 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -951,7 +951,7 @@ } // repe (0xF3) 0x4: decode OPCODE_OP_BOTTOM3 { - 0x6: WarnUnimpl::movq2dq_Vo_PRq(); + 0x6: MOVQ2DQ(Vo,PRq); default: UD2(); } // operand size (0x66) 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 b4c96cd8e..c34bd42bb 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 @@ -82,8 +82,12 @@ def macroop MOVQ_P_XMM { def macroop MOVDQ2Q_MMX_XMM { movfp mmx, xmmlm, dataSize=8 }; + +def macroop MOVQ2DQ_XMM_MMX { + movfp xmml, mmxm, dataSize=8 + lfpimm xmmh, 0 +}; ''' # MOVDQA # MOVDQU -# MOVQ2DQ # LDDQU -- cgit v1.2.3