diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49c293962165a188f746e8ea310c0dc4da7231a0..c61f9b118ca7db257e585ea9de49f4f0b547e6b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-09-09 Alan Modra <amodra@bigpond.net.au> + + * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of + save_size. + 2004-09-08 David Edelsohn <edelsohn@gnu.org> * config/rs6000/power4.md (power4-lmul): du4 feeds iu1. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 1881fc198c7e037a022a66b7320e90dcf767acc8..2dc1f778cd9c188936c90bf6e37ee0783363adf5 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -11728,6 +11728,7 @@ rs6000_stack_info (void) rs6000_stack_t *info_ptr = &info; int reg_size = TARGET_32BIT ? 4 : 8; int ehrd_size; + int save_align; HOST_WIDE_INT non_fixed_size; /* Zero all fields portably. */ @@ -11947,6 +11948,7 @@ rs6000_stack_info (void) break; } + save_align = (TARGET_ALTIVEC_ABI || DEFAULT_ABI == ABI_DARWIN) ? 16 : 8; info_ptr->save_size = RS6000_ALIGN (info_ptr->fp_size + info_ptr->gp_size + info_ptr->altivec_size @@ -11958,8 +11960,7 @@ rs6000_stack_info (void) + info_ptr->lr_size + info_ptr->vrsave_size + info_ptr->toc_size, - (TARGET_ALTIVEC_ABI || ABI_DARWIN) - ? 16 : 8); + save_align); non_fixed_size = (info_ptr->vars_size + info_ptr->parm_size