summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts/data_transfer/move.py
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-06-19 22:40:10 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-06-19 22:40:10 +0000
commitd2ccf5e50917701a4eab9f1848c8d524ccf0c7cc (patch)
tree19cfdd9b70857361f756ff8f86fa70b3ef87a4b9 /src/arch/x86/isa/insts/data_transfer/move.py
parentcc796de96201754b3e3a38996090ed633307aa8c (diff)
downloadgem5-d2ccf5e50917701a4eab9f1848c8d524ccf0c7cc.tar.xz
More faithfulness to what instructions should work in what modes, and added the MOVSXD instruction.
--HG-- extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd
Diffstat (limited to 'src/arch/x86/isa/insts/data_transfer/move.py')
-rw-r--r--src/arch/x86/isa/insts/data_transfer/move.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/x86/isa/insts/data_transfer/move.py b/src/arch/x86/isa/insts/data_transfer/move.py
index ff4af0af4..1464e6379 100644
--- a/src/arch/x86/isa/insts/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/data_transfer/move.py
@@ -74,6 +74,15 @@ def macroop MOV_M_I {
limm "env.reg", "IMMEDIATE"
#Do a store to put the register operand into memory
};
+
+def macroop MOVSXD_R_R {
+ sext "env.reg", "env.regm", "env.dataSize"
+};
+
+def macroop MOVSXD_R_M {
+ #Do a load to fill the register operand from memory
+ sext "env.reg", "env.regm", "env.dataSize"
+};
'''
#let {{
# class MOV(Inst):