Pārlūkot izejas kodu

* correctly handle LDRD in TAoptBaseCpu.RegModifiedByInstruction

git-svn-id: trunk@41130 -
florian 6 gadi atpakaļ
vecāks
revīzija
afd4599d26
1 mainītis faili ar 9 papildinājumiem un 0 dzēšanām
  1. 9 0
      compiler/arm/aoptcpub.pas

+ 9 - 0
compiler/arm/aoptcpub.pas

@@ -119,6 +119,15 @@ Implementation
       i : Longint;
     begin
       result:=false;
+      case taicpu(p1).opcode of
+        A_LDR:
+          { special handling for LDRD }
+          if (taicpu(p1).oppostfix=PF_D) and (getsupreg(taicpu(p1).oper[0]^.reg)+1=getsupreg(Reg)) then
+            begin
+              result:=true;
+              exit;
+            end;
+      end;
       for i:=0 to taicpu(p1).ops-1 do
         case taicpu(p1).oper[i]^.typ of
           top_reg: