Преглед изворни кода

m68k: fixed spilling code interfering with some ADDQ/SUBQ/MOV3Q instructions, fixes paszlib failing since r32830

git-svn-id: trunk@33445 -
Károly Balogh пре 9 година
родитељ
комит
96fe4313dd
1 измењених фајлова са 3 додато и 3 уклоњено
  1. 3 3
      compiler/m68k/rgcpu.pas

+ 3 - 3
compiler/m68k/rgcpu.pas

@@ -152,12 +152,12 @@ unit rgcpu;
                 end
                 end
               else if (instr.oper[1]^.typ=top_reg) and (getregtype(instr.oper[1]^.reg)=regtype) and
               else if (instr.oper[1]^.typ=top_reg) and (getregtype(instr.oper[1]^.reg)=regtype) and
                 (get_alias(getsupreg(instr.oper[1]^.reg))=orgreg) and
                 (get_alias(getsupreg(instr.oper[1]^.reg))=orgreg) and
-                (
+                ((
                   (instr.opcode in [A_MOVE,A_ADD,A_SUB,A_AND,A_OR]) and
                   (instr.opcode in [A_MOVE,A_ADD,A_SUB,A_AND,A_OR]) and
                   (instr.oper[0]^.typ=top_reg) and not
                   (instr.oper[0]^.typ=top_reg) and not
-                  (isaddressregister(instr.oper[0]^.reg) and (instr.opcode in [A_ADD,A_SUB,A_AND,A_OR]))
+                  (isaddressregister(instr.oper[0]^.reg))
                 ) or
                 ) or
-                (instr.opcode in [A_ADDQ,A_SUBQ,A_MOV3Q]) then
+                (instr.opcode in [A_ADDQ,A_SUBQ,A_MOV3Q])) then
                 opidx:=1;
                 opidx:=1;
             end;
             end;
         end;
         end;