OSDN Git Service

* config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jul 2003 02:30:31 +0000 (02:30 +0000)
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Jul 2003 02:30:31 +0000 (02:30 +0000)
if current_function_calls_eh_return.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69734 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 45edff2..d19ae2d 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 580d951..c5cd0b0 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;