mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-28 15:40:22 +02:00
* fixed loading of floating point constants
git-svn-id: trunk@3667 -
This commit is contained in:
parent
8a17b1c1e3
commit
30e7d87c11
@ -1486,7 +1486,6 @@ unit cgcpu;
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
|
||||||
if len=0 then
|
if len=0 then
|
||||||
exit;
|
exit;
|
||||||
helpsize:=12+maxtmpreg*4;//52 with maxtmpreg=10
|
helpsize:=12+maxtmpreg*4;//52 with maxtmpreg=10
|
||||||
@ -1498,8 +1497,19 @@ unit cgcpu;
|
|||||||
begin
|
begin
|
||||||
tmpregi:=0;
|
tmpregi:=0;
|
||||||
srcreg:=getintregister(list,OS_ADDR);
|
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
|
while (len div 4 <> 0) and (tmpregi<=maxtmpreg) do
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user