mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-02 11:42:35 +02:00
+ fpu emulation support (generic and untested)
This commit is contained in:
parent
3ab3c91e0a
commit
c403293c6a
@ -111,11 +111,21 @@ var
|
||||
vmtsymtable : tsymtable;
|
||||
begin
|
||||
{ Normal types }
|
||||
addtype('Single',s32floattype);
|
||||
addtype('Double',s64floattype);
|
||||
{ extended size is the best real type for the target }
|
||||
addtype('Extended',pbestrealtype^);
|
||||
addtype('Real',s64floattype);
|
||||
if (cs_fp_emulation in aktmoduleswitches) then
|
||||
begin
|
||||
addtype('Single',s32floattype);
|
||||
{ extended size is the best real type for the target }
|
||||
addtype('Real',s32floattype);
|
||||
pbestrealtype:=@s32floattype;
|
||||
end
|
||||
else
|
||||
begin
|
||||
addtype('Single',s32floattype);
|
||||
addtype('Double',s64floattype);
|
||||
{ extended size is the best real type for the target }
|
||||
addtype('Extended',pbestrealtype^);
|
||||
addtype('Real',s64floattype);
|
||||
end;
|
||||
{$ifdef x86}
|
||||
adddef('Comp',tfloatdef.create(s64comp));
|
||||
{$endif x86}
|
||||
@ -286,22 +296,15 @@ begin
|
||||
ordpointertype:=u32bittype;
|
||||
s32floattype.setdef(tfloatdef.create(s32real));
|
||||
s64floattype.setdef(tfloatdef.create(s64real));
|
||||
s80floattype.setdef(tfloatdef.create(s80real));
|
||||
{$endif sparc}
|
||||
s64currencytype.setdef(tfloatdef.create(s64currency));
|
||||
{$ifdef m68k}
|
||||
ordpointertype:=u32bittype;
|
||||
s32floattype.setdef(tfloatdef.create(s32real));
|
||||
if (cs_fp_emulation in aktmoduleswitches) then
|
||||
begin
|
||||
s64floattype.setdef(tfloatdef.create(s32real));
|
||||
s80floattype.setdef(tfloatdef.create(s32real));
|
||||
end
|
||||
else
|
||||
begin
|
||||
s64floattype.setdef(tfloatdef.create(s64real));
|
||||
s80floattype.setdef(tfloatdef.create(s80real));
|
||||
end;
|
||||
s64floattype.setdef(tfloatdef.create(s64real));
|
||||
s80floattype.setdef(tfloatdef.create(s80real));
|
||||
{$endif}
|
||||
s64currencytype.setdef(tfloatdef.create(s64currency));
|
||||
{ some other definitions }
|
||||
voidpointertype.setdef(tpointerdef.create(voidtype));
|
||||
charpointertype.setdef(tpointerdef.create(cchartype));
|
||||
@ -315,7 +318,10 @@ end;
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.34 2002-08-13 18:01:52 carl
|
||||
Revision 1.35 2002-08-14 19:14:39 carl
|
||||
+ fpu emulation support (generic and untested)
|
||||
|
||||
Revision 1.34 2002/08/13 18:01:52 carl
|
||||
* rename swatoperands to swapoperands
|
||||
+ m68k first compilable version (still needs a lot of testing):
|
||||
assembler generator, system information , inline
|
||||
|
Loading…
Reference in New Issue
Block a user