Browse Source

* TAOptBase.RegInRef compares using SuperRegistersEqual as TAOptBase.RegInOp does for top_reg already

git-svn-id: trunk@34730 -
florian 8 years ago
parent
commit
bc73d0914e
1 changed files with 4 additions and 5 deletions
  1. 4 5
      compiler/aoptbase.pas

+ 4 - 5
compiler/aoptbase.pas

@@ -156,11 +156,10 @@ unit aoptbase;
 
 
   Function TAOptBase.RegInRef(Reg: TRegister; Const Ref: TReference): Boolean;
   Function TAOptBase.RegInRef(Reg: TRegister; Const Ref: TReference): Boolean;
   Begin
   Begin
-    Reg := RegMaxSize(Reg);
-    RegInRef := (Ref.Base = Reg)
-  {$ifdef cpurefshaveindexreg}
-    Or (Ref.Index = Reg)
-  {$endif cpurefshaveindexreg}
+    RegInRef := SuperRegistersEqual(Ref.Base,Reg)
+{$ifdef cpurefshaveindexreg}
+    Or SuperRegistersEqual(Ref.Index,Reg)
+{$endif cpurefshaveindexreg}
   End;
   End;
 
 
   Function TAOptBase.RegModifiedByInstruction(Reg: TRegister; p1: tai): Boolean;
   Function TAOptBase.RegModifiedByInstruction(Reg: TRegister; p1: tai): Boolean;