浏览代码

* building of arm compiler fixed

florian 2 年之前
父节点
当前提交
4846bd78fb
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      compiler/armgen/aoptarm.pas

+ 8 - 0
compiler/armgen/aoptarm.pas

@@ -721,6 +721,7 @@ Implementation
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$ifdef AARCH64}
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
             (taicpu(p).ops=2) and
             (taicpu(p).ops=2) and
             (taicpu(hp1).ops=3) and
             (taicpu(hp1).ops=3) and
@@ -740,6 +741,7 @@ Implementation
               taicpu(hp1).loadshifterop(3,so);
               taicpu(hp1).loadshifterop(3,so);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$endif AARCH64}
           else if RemoveSuperfluousMove(p, hp1, 'UxtbMov2Uxtb') then
           else if RemoveSuperfluousMove(p, hp1, 'UxtbMov2Uxtb') then
             Result:=true;
             Result:=true;
         end;
         end;
@@ -823,6 +825,7 @@ Implementation
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$ifdef AARCH64}
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
             (taicpu(p).ops=2) and
             (taicpu(p).ops=2) and
             (taicpu(hp1).ops=3) and
             (taicpu(hp1).ops=3) and
@@ -842,6 +845,7 @@ Implementation
               taicpu(hp1).loadshifterop(3,so);
               taicpu(hp1).loadshifterop(3,so);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$endif AARCH64}
           else if RemoveSuperfluousMove(p, hp1, 'UxthMov2Data') then
           else if RemoveSuperfluousMove(p, hp1, 'UxthMov2Data') then
             Result:=true;
             Result:=true;
         end;
         end;
@@ -950,6 +954,7 @@ Implementation
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$ifdef AARCH64}
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
             (taicpu(p).ops=2) and
             (taicpu(p).ops=2) and
             (taicpu(hp1).ops=3) and
             (taicpu(hp1).ops=3) and
@@ -969,6 +974,7 @@ Implementation
               taicpu(hp1).loadshifterop(3,so);
               taicpu(hp1).loadshifterop(3,so);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$endif AARCH64}
           else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
           else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
             RemoveSuperfluousMove(p, hp1, 'SxtbMov2Sxtb') then
             RemoveSuperfluousMove(p, hp1, 'SxtbMov2Sxtb') then
             Result:=true;
             Result:=true;
@@ -1078,6 +1084,7 @@ Implementation
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               taicpu(hp1).loadReg(1,taicpu(p).oper[1]^.reg);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$ifdef AARCH64}
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
           else if MatchInstruction(hp1, [A_ADD,A_SUB], [C_None], [PF_None,PF_S]) and
             (taicpu(p).ops=2) and
             (taicpu(p).ops=2) and
             (taicpu(hp1).ops=3) and
             (taicpu(hp1).ops=3) and
@@ -1097,6 +1104,7 @@ Implementation
               taicpu(hp1).loadshifterop(3,so);
               taicpu(hp1).loadshifterop(3,so);
               result:=RemoveCurrentP(p);
               result:=RemoveCurrentP(p);
             end
             end
+{$endif AARCH64}
           else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
           else if GetNextInstructionUsingReg(p, hp1, taicpu(p).oper[0]^.reg) and
             RemoveSuperfluousMove(p, hp1, 'SxthMov2Sxth') then
             RemoveSuperfluousMove(p, hp1, 'SxthMov2Sxth') then
             Result:=true;
             Result:=true;