Make symbols for regular registers.
authorGabe Black <gblack@eecs.umich.edu>
Thu, 21 Jun 2007 20:35:27 +0000 (20:35 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Thu, 21 Jun 2007 20:35:27 +0000 (20:35 +0000)
--HG--
extra : convert_revision : 28a6df1efe4298877dc2b20179caeb25dfdc4622

src/arch/x86/isa/insts/control_transfer/call.py
src/arch/x86/isa/insts/data_transfer/stack_operations.py
src/arch/x86/isa/microasm.isa

index 1372f7dba4e82afb587f81a10f9a6644931e7f55..530162bfd73c8d1c4571e09d1213b3d78706b172 100644 (file)
@@ -61,8 +61,8 @@ def macroop CALL_I
 
     limm t2, imm
     rdip t1
-    subi "INTREG_RSP", "INTREG_RSP", dsz
-    st t1, ss, [0, t0, "INTREG_RSP"]
+    subi rsp, rsp, dsz
+    st t1, ss, [0, t0, rsp]
     wrip t1, t2
 };
 '''
index ca2443752966158617e3bd2a37c3411f72517427..585437b8c103a6600d2cf72fb0cd009e6b8748d5 100644 (file)
@@ -58,16 +58,16 @@ def macroop POP_R {
     # Make the default data size of pops 64 bits in 64 bit mode
     .adjust_env oszIn64Override
 
-    ld reg, ss, [0, t0, "INTREG_RSP"]
-    addi "INTREG_RSP", "INTREG_RSP", dsz
+    ld reg, ss, [0, t0, rsp]
+    addi rsp, rsp, dsz
 };
 
 def macroop PUSH_R {
     # Make the default data size of pops 64 bits in 64 bit mode
     .adjust_env oszIn64Override
 
-    subi "INTREG_RSP", "INTREG_RSP", dsz
-    st reg, ss, [0, t0, "INTREG_RSP"]
+    subi rsp, rsp, dsz
+    st reg, ss, [0, t0, rsp]
 };
 '''
 #let {{
index 4e06f43919a67b55044fa905ba6e30fec7f8715c..ee2b92f53b657a4858890f352093e0d4f2c60ed0 100644 (file)
@@ -91,6 +91,9 @@ let {{
         "osz" : "env.operandSize",
         "ssz" : "env.stackSize"
     }
+
+    for reg in ('ax', 'bx', 'cx', 'dx', 'sp', 'bp', 'si', 'di'):
+        assembler.symbols["r%s" % reg] = "INTREG_R%s" % reg.upper()
     assembler.symbols.update(symbols)
 
     # Code literal which forces a default 64 bit operand size in 64 bit mode.