mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 14:29:14 +02:00
* fixed spilling of fpu registers
git-svn-id: trunk@2090 -
This commit is contained in:
parent
018fa207d7
commit
41d6d85084
@ -397,13 +397,27 @@ uses cutils, cclasses;
|
|||||||
|
|
||||||
function spilling_create_load(const ref:treference;r:tregister): tai;
|
function spilling_create_load(const ref:treference;r:tregister): tai;
|
||||||
begin
|
begin
|
||||||
result:=taicpu.op_reg_ref(A_LWZ,r,ref);
|
case getregtype(r) of
|
||||||
|
R_INTREGISTER:
|
||||||
|
result:=taicpu.op_reg_ref(A_LWZ,r,ref);
|
||||||
|
R_FPUREGISTER:
|
||||||
|
result:=taicpu.op_reg_ref(A_LFD,r,ref);
|
||||||
|
else
|
||||||
|
internalerror(2005123101);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
function spilling_create_store(r:tregister; const ref:treference): tai;
|
function spilling_create_store(r:tregister; const ref:treference): tai;
|
||||||
begin
|
begin
|
||||||
result:=taicpu.op_reg_ref(A_STW,r,ref);
|
case getregtype(r) of
|
||||||
|
R_INTREGISTER:
|
||||||
|
result:=taicpu.op_reg_ref(A_STW,r,ref);
|
||||||
|
R_FPUREGISTER:
|
||||||
|
result:=taicpu.op_reg_ref(A_STFD,r,ref);
|
||||||
|
else
|
||||||
|
internalerror(2005123102);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user