mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 14:29:14 +02:00
+ applied a fix similar to 11820 to x86-64
git-svn-id: trunk@11821 -
This commit is contained in:
parent
558cf3ef87
commit
50b63884cb
@ -61,12 +61,10 @@ FPC_ABSMASK_DOUBLE:
|
|||||||
|
|
||||||
|
|
||||||
procedure SetSSECSR(w : dword);
|
procedure SetSSECSR(w : dword);
|
||||||
var
|
|
||||||
_w : dword;
|
|
||||||
begin
|
begin
|
||||||
_w:=w;
|
mxcsr:=w;
|
||||||
asm
|
asm
|
||||||
ldmxcsr _w
|
ldmxcsr w
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -616,15 +616,23 @@ end;
|
|||||||
|
|
||||||
{$define FPC_SYSTEM_HAS_SYSRESETFPU}
|
{$define FPC_SYSTEM_HAS_SYSRESETFPU}
|
||||||
Procedure SysResetFPU;
|
Procedure SysResetFPU;
|
||||||
begin
|
var
|
||||||
asm
|
{ these locals are so we don't have to hack pic code in the assembler }
|
||||||
{ initialize fpu }
|
localmxcsr: dword;
|
||||||
fnclex
|
localfpucw: word;
|
||||||
fwait
|
begin
|
||||||
|
localfpucw:=Default8087CW;
|
||||||
|
localmxcsr:=mxcsr;
|
||||||
|
asm
|
||||||
|
fninit
|
||||||
|
fwait
|
||||||
|
fldcw localfpucw
|
||||||
|
ldmxcsr localmxcsr
|
||||||
|
end;
|
||||||
|
{ x86-64 might use softfloat code }
|
||||||
|
softfloat_exception_flags:=0;
|
||||||
end;
|
end;
|
||||||
{ x86-64 might use softfloat code }
|
|
||||||
softfloat_exception_flags:=0;
|
|
||||||
end;
|
|
||||||
|
|
||||||
{$ifndef FPC_SYSTEM_HAS_MEM_BARRIER}
|
{$ifndef FPC_SYSTEM_HAS_MEM_BARRIER}
|
||||||
{$define FPC_SYSTEM_HAS_MEM_BARRIER}
|
{$define FPC_SYSTEM_HAS_MEM_BARRIER}
|
||||||
|
Loading…
Reference in New Issue
Block a user