Prechádzať zdrojové kódy

* fixed copy/paste errors in a_op_reg_ref() from a_op_ref_reg()

git-svn-id: branches/jvmbackend@18519 -
Jonas Maebe 14 rokov pred
rodič
commit
dbaaf1c3cd
1 zmenil súbory, kde vykonal 5 pridanie a 6 odobranie
  1. 5 6
      compiler/hlcgobj.pas

+ 5 - 6
compiler/hlcgobj.pas

@@ -1344,20 +1344,19 @@ implementation
     var
       tmpreg: tregister;
     begin
+      tmpreg:=getintregister(list,size);
+      a_load_ref_reg(list,size,size,ref,tmpreg);
       case op of
         OP_NOT,OP_NEG:
-          { handle it as "load ref,reg; op reg" }
           begin
-            a_load_ref_reg(list,size,size,ref,reg);
-            a_op_reg_reg(list,op,size,reg,reg);
+            a_op_reg_reg(list,op,size,tmpreg,tmpreg);
           end;
         else
           begin
-            tmpreg:=getintregister(list,size);
-            a_load_ref_reg(list,size,size,ref,tmpreg);
-            a_op_reg_reg(list,op,size,tmpreg,reg);
+            a_op_reg_reg(list,op,size,reg,tmpreg);
           end;
       end;
+      a_load_reg_ref(list,size,size,tmpreg,ref);
     end;
 
   procedure thlcgobj.a_op_ref_reg(list: TAsmList; Op: TOpCG; size: tdef; const ref: TReference; reg: TRegister);