mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-07 08:50:35 +02:00
* fixed left_and_right_must_be_fpureg
git-svn-id: trunk@3129 -
This commit is contained in:
parent
1e7945963c
commit
a8c2419d8a
@ -215,28 +215,16 @@ unit nx86add;
|
||||
begin
|
||||
if (right.location.loc<>LOC_FPUREGISTER) then
|
||||
begin
|
||||
cg.a_loadfpu_loc_reg(current_asmdata.CurrAsmList,right.location,NR_ST);
|
||||
if (right.location.loc <> LOC_CFPUREGISTER) then
|
||||
location_freetemp(current_asmdata.CurrAsmList,left.location);
|
||||
location_force_fpureg(current_asmdata.CurrAsmList,right.location,false);
|
||||
if (left.location.loc<>LOC_FPUREGISTER) then
|
||||
begin
|
||||
cg.a_loadfpu_loc_reg(current_asmdata.CurrAsmList,left.location,NR_ST);
|
||||
if (left.location.loc <> LOC_CFPUREGISTER) then
|
||||
location_freetemp(current_asmdata.CurrAsmList,left.location);
|
||||
end
|
||||
location_force_fpureg(current_asmdata.CurrAsmList,left.location,false)
|
||||
else
|
||||
begin
|
||||
{ left was on the stack => swap }
|
||||
toggleflag(nf_swaped);
|
||||
end;
|
||||
{ left was on the stack => swap }
|
||||
toggleflag(nf_swaped);
|
||||
end
|
||||
{ the nominator in st0 }
|
||||
else if (left.location.loc<>LOC_FPUREGISTER) then
|
||||
begin
|
||||
cg.a_loadfpu_loc_reg(current_asmdata.CurrAsmList,left.location,NR_ST);
|
||||
if (left.location.loc <> LOC_CFPUREGISTER) then
|
||||
location_freetemp(current_asmdata.CurrAsmList,left.location);
|
||||
end
|
||||
location_force_fpureg(current_asmdata.CurrAsmList,left.location,false)
|
||||
else
|
||||
begin
|
||||
{ fpu operands are always in the wrong order on the stack }
|
||||
|
Loading…
Reference in New Issue
Block a user