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

--- Comment #3 from Sebastian Huber <sebastian.hu...@embedded-brains.de> ---
(In reply to Alan Modra from comment #2)
> My guess is that it's this change
> 
> -#define FIRST_SAVED_GP_REGNO 13
> +#define FIRST_SAVED_GP_REGNO   (FIXED_R13 ? 14 : 13)
> 
> messing with ool_adjust.

I used this on the current 4.8 head:

diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 8a36084..d075915 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -952,7 +952,7 @@ extern unsigned rs6000_pointer_size;

 #define FIRST_SAVED_ALTIVEC_REGNO (FIRST_ALTIVEC_REGNO+20)
 #define FIRST_SAVED_FP_REGNO     (14+32)
-#define FIRST_SAVED_GP_REGNO     (FIXED_R13 ? 14 : 13)
+#define FIRST_SAVED_GP_REGNO     13

 /* List the order in which to allocate registers.  Each register must be
    listed once, even those in FIXED_REGISTERS.

This solves the problem above.  I don't know the other impact of the change.

Reply via email to