* allocate dedicated register for a_call_ref() to avoid problems with R0-usage on ppc64.

git-svn-id: trunk@3439 -
This commit is contained in:
tom_at_work 2006-05-06 21:30:04 +00:00
parent 5b7ee799bb
commit 540af422ca

View File

@ -44,11 +44,12 @@ unit cgppc;
rgobj,tgobj,cpupi,procinfo,paramgr;
procedure tcgppcgen.a_call_ref(list : TAsmList;ref: treference);
var
tempreg : TRegister;
begin
a_reg_alloc(list,NR_R0);
a_load_ref_reg(list,OS_ADDR,OS_ADDR,ref,NR_R0);
a_call_reg(list,NR_R0);
a_reg_dealloc(list,NR_R0);
tempreg := getintregister(list, OS_ADDR);
a_load_ref_reg(list,OS_ADDR,OS_ADDR,ref,tempreg);
a_call_reg(list,tempreg);
end;
end.