瀏覽代碼

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

git-svn-id: trunk@34730 -
florian 9 年之前
父節點
當前提交
bc73d0914e
共有 1 個文件被更改,包括 4 次插入5 次删除
  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;
   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;
 
   Function TAOptBase.RegModifiedByInstruction(Reg: TRegister; p1: tai): Boolean;