driver-i386.c (host_detect_local_cpu): Set PROCESSOR_PENTIUMPRO for signature_CENTAUR...
authorJocelyn Mayer <l_indien@magic.fr>
Thu, 23 Jun 2016 18:06:43 +0000 (20:06 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 23 Jun 2016 18:06:43 +0000 (20:06 +0200)
* config/i386/driver-i386.c (host_detect_local_cpu): Set
PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
<case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
signature_CENTAUR_ebx.

From-SVN: r237741

gcc/ChangeLog
gcc/config/i386/driver-i386.c

index d70dc48cbd8caafebcfd8d169cb04a4da6ff93d8..1a526b7ca9ed4905d439a2e595a8902267e32fa6 100644 (file)
@@ -1,3 +1,10 @@
+2016-06-23  Jocelyn Mayer  <l_indien@magic.fr>
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Set
+       PROCESSOR_PENTIUMPRO for signature_CENTAUR_ebx family >= 9.
+       <case PROCESSOR_PENTIMUMPRO>: Pass c7 or nehemiah for
+       signature_CENTAUR_ebx.
+
 2016-06-23  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/66232
index 9f44ee86391befe272961412cc65e8bbcec23f93..22a8f2861aee8ea2e692153aa5f8d623fe07650e 100644 (file)
@@ -653,10 +653,7 @@ const char *host_detect_local_cpu (int argc, const char **argv)
        case 6:
          if (has_longmode)
            processor = PROCESSOR_K8;
-         else if (model > 9)
-           /* Use the default detection procedure.  */
-           ;
-         else if (model == 9)
+         else if (model >= 9)
            processor = PROCESSOR_PENTIUMPRO;
          else if (model >= 6)
            processor = PROCESSOR_I486;
@@ -818,15 +815,27 @@ const char *host_detect_local_cpu (int argc, const char **argv)
                   as all the CPUs below are 32-bit only.  */
                cpu = "x86-64";
              else if (has_sse3)
-               /* It is Core Duo.  */
-               cpu = "pentium-m";
+               {
+                 if (vendor == signature_CENTAUR_ebx)
+                   /* C7 / Eden "Esther" */
+                   cpu = "c7";
+                 else
+                   /* It is Core Duo.  */
+                   cpu = "pentium-m";
+               }
              else if (has_sse2)
                /* It is Pentium M.  */
                cpu = "pentium-m";
              else if (has_sse)
                {
                  if (vendor == signature_CENTAUR_ebx)
-                   cpu = "c3-2";
+                   {
+                     if (model >= 9)
+                       /* Eden "Nehemiah" */
+                       cpu = "nehemiah";
+                     else
+                       cpu = "c3-2";
+                   }
                  else
                    /* It is Pentium III.  */
                    cpu = "pentium3";