From: Ben Gras Date: Thu, 29 Apr 2010 19:08:49 +0000 (+0000) Subject: cpufeature() - rename _SSEx and correct logic in cpufeature() in lib X-Git-Tag: v3.1.7~97 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/doxygen.png?a=commitdiff_plain;h=99a13341bdf05f0e28cbdb38046a982f7d807d78;p=minix.git cpufeature() - rename _SSEx and correct logic in cpufeature() in lib --- diff --git a/include/minix/cpufeature.h b/include/minix/cpufeature.h index 0eea544d9..395f555f1 100644 --- a/include/minix/cpufeature.h +++ b/include/minix/cpufeature.h @@ -7,7 +7,7 @@ #define _CPUF_I386_PGE 2 /* Page Global Enable */ #define _CPUF_I386_APIC_ON_CHIP 3 /* APIC is present on the chip */ #define _CPUF_I386_TSC 4 /* Timestamp counter present */ -#define _CPUF_I386_SSEx 5 /* Support for SSE/SSE2/SSE3/SSSE3/SSE4 +#define _CPUF_I386_SSE1234_12 5 /* Support for SSE/SSE2/SSE3/SSSE3/SSE4 * Extensions and FXSR */ #define _CPUF_I386_FXSR 6 diff --git a/lib/libc/arch/i386/misc/_cpufeature.c b/lib/libc/arch/i386/misc/_cpufeature.c index 8de5cc2ba..e74ed1026 100644 --- a/lib/libc/arch/i386/misc/_cpufeature.c +++ b/lib/libc/arch/i386/misc/_cpufeature.c @@ -35,14 +35,12 @@ int _cpufeature(int cpufeature) return edx & CPUID1_EDX_TSC; case _CPUF_I386_FPU: return edx & CPUID1_EDX_FPU; - case _CPUF_I386_SSEx: - return (edx & (CPUID1_EDX_FXSR | - CPUID1_EDX_SSE | - CPUID1_EDX_SSE2)) && - (ecx & (CPUID1_ECX_SSE3 | - CPUID1_ECX_SSSE3 | - CPUID1_ECX_SSE4_1 | - CPUID1_ECX_SSE4_2)); +#define SSE_FULL_EDX (CPUID1_EDX_FXSR | CPUID1_EDX_SSE | CPUID1_EDX_SSE2) +#define SSE_FULL_ECX (CPUID1_ECX_SSE3 | CPUID1_ECX_SSSE3 | \ + CPUID1_ECX_SSE4_1 | CPUID1_ECX_SSE4_2) + case _CPUF_I386_SSE1234_12: + return (edx & SSE_FULL_EDX) == SSE_FULL_EDX && + (ecx & SSE_FULL_ECX) == SSE_FULL_ECX; case _CPUF_I386_FXSR: return edx & CPUID1_EDX_FXSR; case _CPUF_I386_SSE: