This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
PATCH: Assume Intel Core i3/i5/i7 processor if AVX is available
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Thu, 2 Jun 2011 17:50:54 -0700
- Subject: PATCH: Assume Intel Core i3/i5/i7 processor if AVX is available
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
This patch assumes Intel Core i3/i5/i7 processor for unknown family 0x06
processors if AVX is available.
H.J.
---
2011-06-02 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
Assume Intel Core i3/i5/i7 processor if AVX is available.
diff --git a/sysdeps/x86_64/multiarch/init-arch.c b/sysdeps/x86_64/multiarch/init-arch.c
index 34ec2df..809d105 100644
--- a/sysdeps/x86_64/multiarch/init-arch.c
+++ b/sysdeps/x86_64/multiarch/init-arch.c
@@ -74,6 +74,7 @@ __init_cpu_features (void)
}
else if (family == 0x06)
{
+ ecx = __cpu_features.cpuid[COMMON_CPUID_INDEX_1].ecx;
model += extended_model;
switch (model)
{
@@ -83,6 +84,12 @@ __init_cpu_features (void)
__cpu_features.feature[index_Slow_BSF] |= bit_Slow_BSF;
break;
+ default:
+ /* Unknown family 0x06 processors. Assuming this is one
+ of Core i3/i5/i7 processors if AVX is available. */
+ if ((ecx & bit_AVX) == 0)
+ break;
+
case 0x1a:
case 0x1e:
case 0x1f: