Просмотр исходного кода

m68k: fixed a long standing issue, where FPU registers would be clamped to single precision during spilling

git-svn-id: trunk@46307 -
Károly Balogh 5 лет назад
Родитель
Сommit
f20c76d73b
1 измененных файлов с 2 добавлено и 4 удалено
  1. 2 4
      compiler/m68k/aasmcpu.pas

+ 2 - 4
compiler/m68k/aasmcpu.pas

@@ -556,8 +556,7 @@ type
           R_ADDRESSREGISTER :
           R_ADDRESSREGISTER :
             result:=taicpu.op_ref_reg(A_MOVE,S_L,ref,r);
             result:=taicpu.op_ref_reg(A_MOVE,S_L,ref,r);
           R_FPUREGISTER :
           R_FPUREGISTER :
-            // no need to handle sizes here
-            result:=taicpu.op_ref_reg(A_FMOVE,S_FS,ref,r);
+            result:=taicpu.op_ref_reg(A_FMOVE,fpuregopsize,ref,r);
           else
           else
             internalerror(200602011);
             internalerror(200602011);
         end;
         end;
@@ -572,8 +571,7 @@ type
           R_ADDRESSREGISTER :
           R_ADDRESSREGISTER :
             result:=taicpu.op_reg_ref(A_MOVE,S_L,r,ref);
             result:=taicpu.op_reg_ref(A_MOVE,S_L,r,ref);
           R_FPUREGISTER :
           R_FPUREGISTER :
-            // no need to handle sizes here
-            result:=taicpu.op_reg_ref(A_FMOVE,S_FS,r,ref);
+            result:=taicpu.op_reg_ref(A_FMOVE,fpuregopsize,r,ref);
           else
           else
             internalerror(200602012);
             internalerror(200602012);
         end;
         end;