From d2ccf5e50917701a4eab9f1848c8d524ccf0c7cc Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 19 Jun 2007 22:40:10 +0000 Subject: More faithfulness to what instructions should work in what modes, and added the MOVSXD instruction. --HG-- extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd --- src/arch/x86/isa/insts/data_transfer/move.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/arch/x86/isa/insts') 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): -- cgit v1.2.3