diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e8f9213e7c05bf4792212ddba21466d719fac8a8..00f72034cb2039adb566ff8824646d78c7e77e05 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-04-17  Alan Modra  <amodra@bigpond.net.au>
+
+	PR target/14715
+	* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
+	with STARTING_FRAME_OFFSET.
+
 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
 
 	* config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index b3a73648bd7a80ffe7f201afd3b9f19b3d945b9d..a86ec22ac3bfeed710a7c0a03f227f2b26c54610 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -10858,7 +10858,7 @@ rs6000_stack_info (void)
   info_ptr->varargs_size = RS6000_VARARGS_AREA;
   info_ptr->vars_size    = RS6000_ALIGN (get_frame_size (), 8);
   info_ptr->parm_size    = RS6000_ALIGN (current_function_outgoing_args_size,
-					 8);
+					 TARGET_ALTIVEC ? 16 : 8);
 
   if (TARGET_SPE_ABI && info_ptr->spe_64bit_regs_used != 0)
     info_ptr->spe_gp_size = 8 * (32 - info_ptr->first_gp_reg_save);