This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RS6000 Altivec stack layout fix
- From: Alan Modra <amodra at bigpond dot net dot au>
- To: gcc-patches at gcc dot gnu dot org, Aldy Hernandez <aldyh at redhat dot com>
- Cc: David Edelsohn <dje at watson dot ibm dot com>, Andreas Jaeger <aj at suse dot de>,Marcus Meissner <meissner at suse dot de>, Michael Matz <matz at suse dot de>
- Date: Thu, 15 Apr 2004 17:40:33 +0930
- Subject: RS6000 Altivec stack layout fix
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14715 for analysis.
I'm not dead certain whether rs6000_stack_info needs this change or
whether STARTING_FRAME_OFFSET needs to be changed. I am sure they
need to agree..
PR target/14715
* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
with STARTING_FRAME_OFFSET.
Bootstrap etc. in progress.
Index: gcc/config/rs6000/rs6000.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.621
diff -u -p -r1.621 rs6000.c
--- gcc/config/rs6000/rs6000.c 7 Apr 2004 21:09:03 -0000 1.621
+++ gcc/config/rs6000/rs6000.c 15 Apr 2004 08:00:02 -0000
@@ -10855,7 +10855,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);
--
Alan Modra
IBM OzLabs - Linux Technology Centre