aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2011-06-03 07:01:25 -0400
committerUlrich Drepper <drepper@gmail.com>2011-06-03 07:01:25 -0400
commit3d29045b5e8329d97693eda8d98f1d1e60b99c8f (patch)
treeed61b7ed0c25b443d9ff47fa0f2d79c562ca6cc2
parentc8fc0c91695b1c7003c7170861274161f9224817 (diff)
downloadglibc-3d29045b5e8329d97693eda8d98f1d1e60b99c8f.zip
glibc-3d29045b5e8329d97693eda8d98f1d1e60b99c8f.tar.gz
glibc-3d29045b5e8329d97693eda8d98f1d1e60b99c8f.tar.bz2
Assume Intel Core i3/i5/i7 processor if AVX is available
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/x86_64/multiarch/init-arch.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index eee3d1b..6a11ec6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2011-05-31 Andreas Schwab <schwab@redhat.com>
* nscd/nscd_getserv_r.c (nscd_getserv_r): Don't free non-malloced
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: