From 41d6d85084ebf87ef03bd264a9f99dfbbfaf9972 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Sat, 31 Dec 2005 13:14:56 +0000 Subject: [PATCH] * fixed spilling of fpu registers git-svn-id: trunk@2090 - --- compiler/powerpc/aasmcpu.pas | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/compiler/powerpc/aasmcpu.pas b/compiler/powerpc/aasmcpu.pas index 341d5b1580..9526e0705d 100644 --- a/compiler/powerpc/aasmcpu.pas +++ b/compiler/powerpc/aasmcpu.pas @@ -397,13 +397,27 @@ uses cutils, cclasses; function spilling_create_load(const ref:treference;r:tregister): tai; 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; function spilling_create_store(r:tregister; const ref:treference): tai; 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;