summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/isa/decoder/two_byte_opcodes.isa2
-rw-r--r--src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py6
2 files changed, 6 insertions, 2 deletions
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