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-21 15:30:05 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-06-21 15:30:05 +0000
commit25e385e0cfe20dd47f5760d9fe443efaab0d32fc (patch)
tree3ae028cbb3297555afb252eaa5631958ae1d9c26 /src/arch/x86/isa/insts/data_transfer/move.py
parent13bf0220537d2e7e6d9b493a9e49c02ce656e8ce (diff)
downloadgem5-25e385e0cfe20dd47f5760d9fe443efaab0d32fc.tar.xz
Use the new symbols to clean up the assembler.
--HG-- extra : convert_revision : 005464e875ede1e37dfe0e0482c29fd793ca52be
Diffstat (limited to 'src/arch/x86/isa/insts/data_transfer/move.py')
-rw-r--r--src/arch/x86/isa/insts/data_transfer/move.py42
1 files changed, 19 insertions, 23 deletions
diff --git a/src/arch/x86/isa/insts/data_transfer/move.py b/src/arch/x86/isa/insts/data_transfer/move.py
index 662b2c373..c85dd7cc4 100644
--- a/src/arch/x86/isa/insts/data_transfer/move.py
+++ b/src/arch/x86/isa/insts/data_transfer/move.py
@@ -55,59 +55,55 @@
microcode = '''
def macroop MOV_R_R {
- mov "env.reg", "env.reg", "env.regm"
+ mov reg, reg, regm
};
def macroop MOV_M_R {
- st "env.reg", 3, ["env.scale", "env.index", "env.base"], "DISPLACEMENT"
+ st reg, ds, [scale, index, base], disp
};
def macroop MOV_P_R {
- rdip "NUM_INTREGS+7"
- st "env.reg", 3, ["env.scale", "env.index", "env.base"], "DISPLACEMENT"
+ rdip t7
+ st reg, ds, [scale, index, base], disp
};
def macroop MOV_R_M {
- ld "env.reg", 3, ["env.scale", "env.index", "env.base"], "DISPLACEMENT"
+ ld reg, ds, [scale, index, base], disp
};
def macroop MOV_R_P {
- rdip "NUM_INTREGS+7"
- ld "env.reg", 3, ["env.scale", "env.index", "env.base"], "DISPLACEMENT"
+ rdip t7
+ ld reg, ds, [scale, index, base], disp
};
def macroop MOV_R_I {
- limm "env.reg", "IMMEDIATE"
+ limm reg, imm
};
def macroop MOV_M_I {
- limm "NUM_INTREGS+1", "IMMEDIATE"
- st "NUM_INTREGS+1", 3, ["env.scale", "env.index", "env.base"], \
- "DISPLACEMENT"
+ limm t1, imm
+ st t1, ds, [scale, index, base], disp
};
def macroop MOV_P_I {
- rdip "NUM_INTREGS+7"
- limm "NUM_INTREGS+1", "IMMEDIATE"
- st "NUM_INTREGS+1", 3, ["env.scale", "env.index", "env.base"], \
- "DISPLACEMENT"
+ rdip t7
+ limm t1, imm
+ st t1, ds, [scale, index, base], disp
};
def macroop MOVSXD_R_R {
- sext "env.reg", "env.regm", "env.dataSize"
+ sext reg, regm, dsz
};
def macroop MOVSXD_R_M {
- ld "NUM_INTREGS+1", 3, ["env.scale", "env.index", "env.base"], \
- "DISPLACEMENT"
- sext "env.reg", "NUM_INTREGS+1", "env.dataSize"
+ ld t1, ds, [scale, index, base], disp
+ sext reg, t1, dsz
};
def macroop MOVSXD_R_P {
- rdip "NUM_INTREGS+7"
- ld "NUM_INTREGS+1", 3, ["env.scale", "env.index", "env.base"], \
- "DISPLACEMENT"
- sext "env.reg", "NUM_INTREGS+1", "env.dataSize"
+ rdip t7
+ ld t1, ds, [scale, index, base], disp
+ sext reg, t1, dsz
};
'''
#let {{