Procházet zdrojové kódy

* when checking if a register is used by an operand, compare the super registers

git-svn-id: trunk@34720 -
florian před 8 roky
rodič
revize
e6cea6622e
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      compiler/aoptbase.pas

+ 1 - 1
compiler/aoptbase.pas

@@ -143,7 +143,7 @@ unit aoptbase;
   Function TAOptBase.RegInOp(Reg: TRegister; const op: toper): Boolean;
   Function TAOptBase.RegInOp(Reg: TRegister; const op: toper): Boolean;
     Begin
     Begin
       Case op.typ Of
       Case op.typ Of
-        Top_Reg: RegInOp := Reg = op.reg;
+        Top_Reg: RegInOp := SuperRegistersEqual(Reg,op.reg);
         Top_Ref: RegInOp := RegInRef(Reg, op.ref^);
         Top_Ref: RegInOp := RegInRef(Reg, op.ref^);
         {$ifdef arm}
         {$ifdef arm}
         Top_Shifterop: RegInOp := op.shifterop^.rs = Reg;
         Top_Shifterop: RegInOp := op.shifterop^.rs = Reg;