ef4f831
2009-09-16  Jakub Jelinek  <jakub@redhat.com>
ef4f831
ef4f831
	* config/rs6000/sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Disable
ef4f831
	out of line gpr/fpr saving for -m64 -Os -mcall-aixdesc.
ef4f831
ef4f831
--- gcc/config/rs6000/sysv4.h.jj	2009-09-16 14:46:19.000000000 +0200
ef4f831
+++ gcc/config/rs6000/sysv4.h	2009-09-16 14:46:19.000000000 +0200
ef4f831
@@ -273,12 +273,14 @@ do {									\
ef4f831
 /* Define cutoff for using external functions to save floating point.
ef4f831
    When optimizing for size, use external functions when profitable.  */
ef4f831
 #define FP_SAVE_INLINE(FIRST_REG) (optimize_size			\
ef4f831
+				   && (!TARGET_64BIT || !DOT_SYMBOLS)	\
ef4f831
 				   ? ((FIRST_REG) == 62			\
ef4f831
 				      || (FIRST_REG) == 63)		\
ef4f831
 				   : (FIRST_REG) < 64)
ef4f831
 /* And similarly for general purpose registers.  */
ef4f831
-#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32	\
ef4f831
-				   && !optimize_size)
ef4f831
+#define GP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 32			\
ef4f831
+				   && (!optimize_size			\
ef4f831
+				        || (TARGET_64BIT && DOT_SYMBOLS)))
ef4f831
 
ef4f831
 /* Put jump tables in read-only memory, rather than in .text.  */
ef4f831
 #define JUMP_TABLES_IN_TEXT_SECTION 0