|
@@ -71,7 +71,7 @@ interface
|
|
cpubase,systems,
|
|
cpubase,systems,
|
|
procinfo,pass_2,
|
|
procinfo,pass_2,
|
|
cgbase,
|
|
cgbase,
|
|
- cgutils,cgobj,
|
|
|
|
|
|
+ cgutils,cgobj,hlcgobj,
|
|
ncgutil,
|
|
ncgutil,
|
|
tgobj
|
|
tgobj
|
|
;
|
|
;
|
|
@@ -412,8 +412,8 @@ interface
|
|
{ on sparc a move from double -> single means from two to one register. }
|
|
{ on sparc a move from double -> single means from two to one register. }
|
|
{ On all other platforms it also needs rounding to avoid that }
|
|
{ On all other platforms it also needs rounding to avoid that }
|
|
{ single(double_regvar) = double_regvar is true in all cases }
|
|
{ single(double_regvar) = double_regvar is true in all cases }
|
|
- location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
|
|
|
|
- cg.a_loadfpu_reg_reg(current_asmdata.CurrAsmList,left.location.size,location.size,left.location.register,location.register);
|
|
|
|
|
|
+ location.register:=hlcg.getfpuregister(current_asmdata.CurrAsmList,resultdef);
|
|
|
|
+ hlcg.a_loadfpu_reg_reg(current_asmdata.CurrAsmList,left.resultdef,resultdef,left.location.register,location.register);
|
|
end;
|
|
end;
|
|
LOC_MMREGISTER:
|
|
LOC_MMREGISTER:
|
|
begin
|
|
begin
|
|
@@ -436,9 +436,9 @@ interface
|
|
end
|
|
end
|
|
else
|
|
else
|
|
begin
|
|
begin
|
|
- location_force_fpureg(current_asmdata.CurrAsmList,left.location,false);
|
|
|
|
|
|
+ hlcg.location_force_fpureg(current_asmdata.CurrAsmList,left.location,left.resultdef,false);
|
|
location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
|
|
location.register:=cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
|
|
- cg.a_loadfpu_reg_reg(current_asmdata.CurrAsmList,left.location.size,location.size,left.location.register,location.register);
|
|
|
|
|
|
+ hlcg.a_loadfpu_reg_reg(current_asmdata.CurrAsmList,left.resultdef,resultdef,left.location.register,location.register);
|
|
end;
|
|
end;
|
|
location_freetemp(current_asmdata.CurrAsmList,left.location);
|
|
location_freetemp(current_asmdata.CurrAsmList,left.location);
|
|
end;
|
|
end;
|