summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-08-17 20:25:14 -0700
committerGabe Black <gblack@eecs.umich.edu>2009-08-17 20:25:14 -0700
commit56d87cdc088dced1084aba3ccb23e1ed143a0346 (patch)
treee5b3251a06fd34ced5d076701d4469d1ca915e57 /src
parent317a9ac6d149b724faa443f532583080567317f8 (diff)
downloadgem5-56d87cdc088dced1084aba3ccb23e1ed143a0346.tar.xz
X86: Implement MOVQ2DQ.
Diffstat (limited to 'src')
-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