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-14 20:52:22 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-06-14 20:52:22 +0000
commit866cc8214ba1642c2af56ed14e9ca2cf8b1928cf (patch)
tree5de3396fae004a17052103b437858e1d1275854b /src/arch/x86/isa/insts/data_transfer/move.py
parenta8f65b18bc55fdb8ca888abfd0d991d12602fbf4 (diff)
downloadgem5-866cc8214ba1642c2af56ed14e9ca2cf8b1928cf.tar.xz
Implement a handful more instructions and differentiate macroops based on the operand types they expect.
--HG-- extra : convert_revision : f9c8e694a8c0eb33b988657dca03ab495b65bee8
Diffstat (limited to 'src/arch/x86/isa/insts/data_transfer/move.py')
-rw-r--r--src/arch/x86/isa/insts/data_transfer/move.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/arch/x86/isa/insts/data_transfer/move.py b/src/arch/x86/isa/insts/data_transfer/move.py
index acfe2f516..9d23b24e8 100644
--- a/src/arch/x86/isa/insts/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/data_transfer/move.py
@@ -54,9 +54,26 @@
# Authors: Gabe Black
microcode = '''
-def macroop MOV{
+def macroop MOV_R_R {
mov "env.reg", "env.reg", "env.regm"
};
+
+def macroop MOV_M_R {
+ #Do a store to put the register operand into memory
+};
+
+def macroop MOV_R_M {
+ #Do a load to fill the register operand from memory
+};
+
+def macroop MOV_R_I {
+ limm "env.reg", "env.immediate"
+};
+
+def macroop MOV_M_I {
+ limm "env.reg", "env.immediate"
+ #Do a store to put the register operand into memory
+};
'''
#let {{
# class MOV(Inst):