* improved SSE check by Martin Schreiber

git-svn-id: trunk@8040 -
This commit is contained in:
florian 2007-07-13 21:16:48 +00:00
parent 7d7080394d
commit 6f6e60b723

View File

@ -1236,15 +1236,19 @@ Procedure SysResetFPU;{$ifdef SYSTEMINLINE}inline;{$endif}
procedure fpc_cpucodeinit; procedure fpc_cpucodeinit;
begin begin
os_supports_sse:=true; os_supports_sse:=true;
sse_check:=true; os_supports_sse:=sse_support;
asm if os_supports_sse then
{ force an sse exception if no sse is supported, the exception handler sets begin
os_supports_sse to false then } sse_check:=true;
{ don't change this instruction, the code above depends on its size } asm
movaps %xmm7, %xmm6 { force an sse exception if no sse is supported, the exception handler sets
end; os_supports_sse to false then }
sse_check:=false; { don't change this instruction, the code above depends on its size }
has_sse_support:=sse_support; movaps %xmm7, %xmm6
end;
sse_check:=false;
end;
has_sse_support:=os_supports_sse;
has_mmx_support:=mmx_support; has_mmx_support:=mmx_support;
SysResetFPU; SysResetFPU;
{$ifdef USE_FASTMOVE} {$ifdef USE_FASTMOVE}