http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58269

--- Comment #13 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> Yes, confirmed that on x86_64-linux r202286 is the culprit.

See pr58139 comments #6 to #11.

I have successfully bootstrapped r202312 on x86_64-apple-darwin10 with the
following patch:

--- /opt/gcc/_clean/gcc/config/i386/i386.c    2013-08-28 18:59:22.000000000
+0200
+++ /opt/gcc/work/gcc/config/i386/i386.c    2013-09-06 10:46:46.000000000 +0200
@@ -4218,7 +4218,7 @@ ix86_conditional_register_usage (void)

   /* If AVX512F is disabled, squash the registers.  */
   if (! TARGET_AVX512F)
-    for (i = FIRST_EXT_REX_SSE_REG; i < LAST_EXT_REX_SSE_REG; i++)
+    for (i = FIRST_EXT_REX_SSE_REG; i <= LAST_EXT_REX_SSE_REG; i++)
       fixed_regs[i] = call_used_regs[i] = 1, reg_names[i] = "";
 }

@@ -5708,7 +5708,8 @@ ix86_function_arg_regno_p (int regno)

   if (TARGET_MACHO)
     {
-      if (SSE_REGNO_P (regno) && TARGET_SSE)
+      if (SSE_REGNO_P (regno) && TARGET_SSE
+      && ! EXT_REX_SSE_REGNO_P (regno))
         return true;
     }
   else
@@ -34466,7 +34467,7 @@ ix86_hard_regno_mode_ok (int regno, enum

       /* OImode move is available only when AVX is enabled.  */
       return ((TARGET_AVX && mode == OImode)
-          || VALID_AVX256_REG_MODE (mode)
+          || (TARGET_AVX && VALID_AVX256_REG_MODE (mode))
           || VALID_SSE_REG_MODE (mode)
           || VALID_SSE2_REG_MODE (mode)
           || VALID_MMX_REG_MODE (mode)

Note that the first hunk is r202318 and that without the second hunk, bootstrap
fails with

Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1obj-checksum.o differs
warning: gcc/cc1objplus-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
Bootstrap comparison failure!
libiberty/md5.o differs
libiberty/regex.o differs

Reply via email to