Wednesday, July 11, 2007, 12:06:51 AM, Florian wrote:

FK> Vinzent Hoefler schrieb:
>> On Tuesday 10 July 2007 09:58, Vinzent Hoefler wrote:
>>> On Tuesday 10 July 2007 12:40, Yury Sidorov wrote:
>>>> Maybe other way to detect SSE support exists...
>>> CPUID?
>> 
>> To be more precise, the way recommended by Intel:
>> 
>> "To make this check, execute the CPUID instruction with an argument of 1 
>> in the EAX register, and check that bit 25 (SSE) and/or bit 26 (SSE2) 
>> are set to 1."
>> 
>>   -- IA32 Software Developer's Manual,
>>      Volume 3: System Programming Guide

> This gives you only the information that the CPU supports it but not if
> the OS supports it.

But, if CPU has no SSE2 support, then OS is unable to support it, too?
And if CPU has SSE2 support, modern OSes probably tend to support it.
Thus, by checking CPUID before attempting to execute an SSE2
instruction you'll be able to exclude exceptions in vast majority of
cases.

-- 
Best regards,
 Sergei


_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to