public CpuCapabilities GetCpuCapabilities()
{
CpuCapabilities caps = 0;
// check for an AMD
if(this.IsAMD == true)
{
caps = CpuCapabilities.AMD;
}
else
{
caps = CpuCapabilities.Intel;
}
// TODO: we can't actually make use of any of these features but it would be nice
// to still identify them.
// check for Multi Media Extensions
/*if(HasMMX())
{
flags |= CPUID_MMX;
}
// check for 3DNow!
if(Has3DNow())
{
flags |= CPUID_3DNOW;
}
// check for Streaming SIMD Extensions
if(HasSSE())
{
flags |= CPUID_SSE | CPUID_FTZ;
}
// check for Streaming SIMD Extensions 2
if(HasSSE2())
{
flags |= CPUID_SSE2;
}
// check for Streaming SIMD Extensions 3 aka Prescott's New Instructions
if(HasSSE3())
{
flags |= CPUID_SSE3;
}
// check for Hyper-Threading Technology
if(HasHTT())
{
flags |= CPUID_HTT;
}
// check for Conditional Move (CMOV) and fast floating point comparison (FCOMI) instructions
if(HasCMOV())
{
flags |= CPUID_CMOV;
}
// check for Denormals-Are-Zero mode
if(HasDAZ())
{
flags |= CPUID_DAZ;
}*/
return caps;
}
#endregion