* fixed loading of floating point constants

git-svn-id: trunk@3667 -
This commit is contained in:
florian 2006-05-25 09:57:07 +00:00
parent 8a17b1c1e3
commit 30e7d87c11

View File

@ -1486,7 +1486,6 @@ unit cgcpu;
end;
begin
if len=0 then
exit;
helpsize:=12+maxtmpreg*4;//52 with maxtmpreg=10
@ -1498,8 +1497,19 @@ unit cgcpu;
begin
tmpregi:=0;
srcreg:=getintregister(list,OS_ADDR);
a_loadaddr_ref_reg(list,source,srcreg);
reference_reset_base(srcref,srcreg,0);
{ explicit pc relative addressing, could be
e.g. a floating point constant }
if source.base=NR_PC then
begin
{ ... then we don't need a loadaddr }
srcref:=source;
end
else
begin
a_loadaddr_ref_reg(list,source,srcreg);
reference_reset_base(srcref,srcreg,0);
end;
while (len div 4 <> 0) and (tmpregi<=maxtmpreg) do
begin