mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 21:09:11 +02:00
+ add an SysInitFPU implementation
This commit is contained in:
parent
d959e47c83
commit
9cac8e6183
@ -292,18 +292,21 @@ procedure ReadDependencyBarrier;
|
|||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure ReadWriteBarrier; assembler; nostackframe;
|
procedure ReadWriteBarrier; assembler; nostackframe;
|
||||||
asm
|
asm
|
||||||
fence iorw, iorw
|
fence iorw, iorw
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure WriteBarrier; assembler; nostackframe;
|
procedure WriteBarrier; assembler; nostackframe;
|
||||||
asm
|
asm
|
||||||
fence ow, ow
|
fence ow, ow
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$define FPC_SYSTEM_HAS_SYSRESETFPU}
|
|
||||||
procedure SysResetFPU;{$ifdef SYSTEMINLINE}inline;{$endif}
|
{$define FPC_SYSTEM_HAS_SYSINITFPU}
|
||||||
|
procedure SysInitFPU;
|
||||||
{$ifdef FPUFD}
|
{$ifdef FPUFD}
|
||||||
var
|
var
|
||||||
cw: TNativeFPUControlWord;
|
cw: TNativeFPUControlWord;
|
||||||
@ -321,3 +324,21 @@ begin
|
|||||||
SetNativeFPUControlWord(cw);
|
SetNativeFPUControlWord(cw);
|
||||||
{$endif}
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
{$define FPC_SYSTEM_HAS_SYSRESETFPU}
|
||||||
|
Procedure SysResetFPU;
|
||||||
|
{$ifdef FPUFD}
|
||||||
|
var
|
||||||
|
cw: TNativeFPUControlWord;
|
||||||
|
{$endif}
|
||||||
|
begin
|
||||||
|
softfloat_exception_flags:=[];
|
||||||
|
softfloat_exception_mask:=[exPrecision,exUnderflow];
|
||||||
|
{$ifdef FPUFD}
|
||||||
|
{ clear all "exception happened" flags we care about}
|
||||||
|
cw:=GetNativeFPUControlWord;
|
||||||
|
cw.cw:=0;
|
||||||
|
SetNativeFPUControlWord(cw);
|
||||||
|
{$endif FPUFD}
|
||||||
|
end;
|
Loading…
Reference in New Issue
Block a user