Assume Intel Core i3/i5/i7 processor if AVX is available
authorH.J. Lu <hongjiu.lu@intel.com>
Fri, 3 Jun 2011 11:01:25 +0000 (07:01 -0400)
committerUlrich Drepper <drepper@gmail.com>
Fri, 3 Jun 2011 11:01:25 +0000 (07:01 -0400)
ChangeLog
sysdeps/x86_64/multiarch/init-arch.c

index eee3d1b..6a11ec6 100644 (file)
--- 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
index 34ec2df..809d105 100644 (file)
@@ -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: