* fixed ie when "converting" double to double and single to single on softemu

git-svn-id: trunk@2031 -
This commit is contained in:
florian 2005-12-22 22:24:02 +00:00
parent dbf94f4713
commit e4a8f008a7

View File

@ -1854,6 +1854,11 @@ implementation
case tfloatdef(resulttype.def).typ of case tfloatdef(resulttype.def).typ of
s64real: s64real:
result:=ccallnode.createintern('STOD',ccallparanode.create(left,nil)); result:=ccallnode.createintern('STOD',ccallparanode.create(left,nil));
s32real:
begin
result:=left;
left:=nil;
end;
else else
internalerror(2005082704); internalerror(2005082704);
end; end;
@ -1861,6 +1866,11 @@ implementation
case tfloatdef(resulttype.def).typ of case tfloatdef(resulttype.def).typ of
s32real: s32real:
result:=ccallnode.createintern('DTOS',ccallparanode.create(left,nil)); result:=ccallnode.createintern('DTOS',ccallparanode.create(left,nil));
s64real:
begin
result:=left;
left:=nil;
end;
else else
internalerror(2005082703); internalerror(2005082703);
end; end;
@ -1881,7 +1891,6 @@ implementation
{$endif cpufpemu} {$endif cpufpemu}
begin begin
first_real_to_real:=nil; first_real_to_real:=nil;
{ comp isn't a floating type }
if registersfpu<1 then if registersfpu<1 then
registersfpu:=1; registersfpu:=1;
expectloc:=LOC_FPUREGISTER; expectloc:=LOC_FPUREGISTER;