From acd0b319f1a5718d5a17378734ac957c7ab2f2ee Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 24 Jul 2003 02:30:31 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 45edff299db..d19ae2d964b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-07-24 Alan Modra + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline + if current_function_calls_eh_return. + 2003-07-23 Mark Mitchell * doc/c-tree.texi (OFFSET_TYPE): Update description. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 580d951e05b..c5cd0b0a089 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;