Pārlūkot izejas kodu

m68k: in fmove + op + fmove optimizations, allow the ops precision to be different to the fmoves

git-svn-id: trunk@34985 -
Károly Balogh 8 gadi atpakaļ
vecāks
revīzija
a595877da3
1 mainītis faili ar 3 papildinājumiem un 2 dzēšanām
  1. 3 2
      compiler/m68k/aoptcpu.pas

+ 3 - 2
compiler/m68k/aoptcpu.pas

@@ -209,8 +209,9 @@ unit aoptcpu;
          (getregtype(taicpu(p).oper[0]^.reg) = getregtype(taicpu(p).oper[1]^.reg)) and
          (getregtype(taicpu(p).oper[0]^.reg) = getregtype(taicpu(p).oper[1]^.reg)) and
          MatchOperand(taicpu(p).oper[1]^,taicpu(next2).oper[0]^) and
          MatchOperand(taicpu(p).oper[1]^,taicpu(next2).oper[0]^) and
          MatchOperand(taicpu(next2).oper[1]^,taicpu(p).oper[0]^) and
          MatchOperand(taicpu(next2).oper[1]^,taicpu(p).oper[0]^) and
-         ((taicpu(p).opsize = taicpu(next).opsize) and
-          (taicpu(p).opsize = taicpu(next2).opsize)) then
+         (taicpu(p).opsize = taicpu(next2).opsize) and
+         ((taicpu(p).opcode = A_FMOVE) or
+          (taicpu(p).opsize = taicpu(next).opsize)) then
         begin
         begin
           opstr:=opname(p);
           opstr:=opname(p);