Parcourir la source

+ take into account the fact that lea doesn't read the segment register of its
reference in i386's TCpuAsmOptimizer.RegReadByInstruction

git-svn-id: trunk@36080 -

nickysn il y a 8 ans
Parent
commit
0cd70844f1
1 fichiers modifiés avec 5 ajouts et 0 suppressions
  1. 5 0
      compiler/i386/aoptcpu.pas

+ 5 - 0
compiler/i386/aoptcpu.pas

@@ -190,6 +190,11 @@ unit aoptcpu;
           end;
         else
           begin
+            if (p.opcode=A_LEA) and is_segment_reg(reg) then
+              begin
+                RegReadByInstruction := false;
+                exit;
+              end;
             for opcount := 0 to p.ops-1 do
               if (p.oper[opCount]^.typ = top_ref) and
                  RegInRef(reg,p.oper[opcount]^.ref^) then