rs6000.c (rs6000_emit_prologue): Save fp regs inline if current_function_calls_eh_return.
authorAlan Modra <amodra@bigpond.net.au>
Thu, 24 Jul 2003 02:30:31 +0000 (02:30 +0000)
committerAlan Modra <amodra@gcc.gnu.org>
Thu, 24 Jul 2003 02:30:31 +0000 (12:00 +0930)
* config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
if current_function_calls_eh_return.

From-SVN: r69734

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 45edff299db57ace121c476282ccfa12d94fac27..d19ae2d964b868bf51d5dcfc42d1ca2b29f7545c 100644 (file)
@@ -1,3 +1,8 @@
+2003-07-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
+       if current_function_calls_eh_return.
+
 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
 
        * doc/c-tree.texi (OFFSET_TYPE): Update description.
index 580d951e05ba30e2b3b8f40115fee9586393e746..c5cd0b0a0894501d1f0f636bf42edbb1a35a75b4 100644 (file)
@@ -11254,11 +11254,13 @@ rs6000_emit_prologue ()
                          && info->first_gp_reg_save < 31);
   saving_FPRs_inline = (info->first_fp_reg_save == 64
                        || FP_SAVE_INLINE (info->first_fp_reg_save)
+                       || current_function_calls_eh_return
                        || cfun->machine->ra_need_lr);
 
   /* For V.4, update stack before we do any saving and set back pointer.  */
   if (info->push_p
-      && (DEFAULT_ABI == ABI_V4 || current_function_calls_eh_return))
+      && (DEFAULT_ABI == ABI_V4
+         || current_function_calls_eh_return))
     {
       if (info->total_size < 32767)
        sp_offset = info->total_size;