diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-07-24 02:30:31 +0000 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2003-07-24 12:00:31 +0930 |
commit | acd0b319f1a5718d5a17378734ac957c7ab2f2ee (patch) | |
tree | 66f2b8e3cf07090f3fa2c67705c65bc5697186cd | |
parent | 9d2a10573bf4b9dc0ef966bb58452bba17207cc8 (diff) | |
download | gcc-acd0b319f1a5718d5a17378734ac957c7ab2f2ee.zip gcc-acd0b319f1a5718d5a17378734ac957c7ab2f2ee.tar.gz gcc-acd0b319f1a5718d5a17378734ac957c7ab2f2ee.tar.bz2 |
rs6000.c (rs6000_emit_prologue): Save fp regs inline if current_function_calls_eh_return.
* config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
if current_function_calls_eh_return.
From-SVN: r69734
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45edff2..d19ae2d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 580d951..c5cd0b0 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -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; |