changeset 1093:cb868105a6b5

Change x64 asm in Cache.d from a positive offset from after rbp "-20(%rbp)+4" to before "4+-20(%rbp)"
author Kelly Wilson <wilsonk cpsc.ucalgary.ca>
date Tue, 10 Mar 2009 22:02:11 -0600
parents e6fadb6e6bdd
children fa20521cbb13
files gen/asm-x86-64.h
diffstat 1 files changed, 11 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/gen/asm-x86-64.h	Tue Mar 10 20:40:22 2009 -0400
+++ b/gen/asm-x86-64.h	Tue Mar 10 22:02:11 2009 -0600
@@ -2177,6 +2177,17 @@
                         }
 
                         use_star = opTakesLabel();//opInfo->takesLabel();
+
+                        if ( operand->segmentPrefix != Reg_Invalid || operand->constDisplacement )
+                        {
+                            insnTemplate->printf ( "%d", operand->constDisplacement );
+                            if ( operand->symbolDisplacement.dim )
+                                insnTemplate->writebyte ( '+' );
+                            //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
+                            if ( opInfo->operands[i] & Opr_Dest )
+                                asmcode->clobbersMemory = 1;
+                        }
+
                         if ( operand->segmentPrefix != Reg_Invalid )
                         {
                             writeReg ( operand->segmentPrefix );
@@ -2296,15 +2307,6 @@
                         }
                         if ( use_star )
                             insnTemplate->writebyte ( '*' );
-                        if ( operand->segmentPrefix != Reg_Invalid || operand->constDisplacement )
-                        {
-                            if ( operand->symbolDisplacement.dim )
-                                insnTemplate->writebyte ( '+' );
-                            //addOperand(fmt, Arg_Integer, newIntExp(operand->constDisplacement), asmcode);
-                            insnTemplate->printf ( "%d", operand->constDisplacement );
-                            if ( opInfo->operands[i] & Opr_Dest )
-                                asmcode->clobbersMemory = 1;
-                        }
                         if ( operand->baseReg != Reg_Invalid || operand->indexReg != Reg_Invalid )
                         {
                             insnTemplate->writebyte ( '(' );