summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts/data_transfer/stack_operations.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/stack_operations.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/stack_operations.py')
-rw-r--r--src/arch/x86/isa/insts/data_transfer/stack_operations.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/arch/x86/isa/insts/data_transfer/stack_operations.py b/src/arch/x86/isa/insts/data_transfer/stack_operations.py
index ad95fd468..ca2443752 100644
--- a/src/arch/x86/isa/insts/data_transfer/stack_operations.py
+++ b/src/arch/x86/isa/insts/data_transfer/stack_operations.py
@@ -55,21 +55,19 @@
microcode = '''
def macroop POP_R {
-
# Make the default data size of pops 64 bits in 64 bit mode
- .adjust_env "if(machInst.mode.submode == SixtyFourBitMode && env.dataSize == 4) env.dataSize = 8\;"
+ .adjust_env oszIn64Override
- ld "env.reg", 2, [0, "NUM_INTREGS", "INTREG_RSP"]
- addi "INTREG_RSP", "INTREG_RSP", "env.dataSize"
+ ld reg, ss, [0, t0, "INTREG_RSP"]
+ addi "INTREG_RSP", "INTREG_RSP", dsz
};
def macroop PUSH_R {
-
# Make the default data size of pops 64 bits in 64 bit mode
- .adjust_env "if(machInst.mode.submode == SixtyFourBitMode && env.dataSize == 4) env.dataSize = 8\;"
+ .adjust_env oszIn64Override
- subi "INTREG_RSP", "INTREG_RSP", "env.dataSize"
- st "env.reg", 2, [0, "NUM_INTREGS", "INTREG_RSP"]
+ subi "INTREG_RSP", "INTREG_RSP", dsz
+ st reg, ss, [0, t0, "INTREG_RSP"]
};
'''
#let {{