This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RS6000 Altivec stack layout fix
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org, 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 08:21:13 -0400
- Subject: Re: RS6000 Altivec stack layout fix
- References: <20040415081033.GF15757@bubble.modra.org>
> 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..
Hmmm, both STARTING_FRAME_OFFSET and rs6000_stack_info should key off
of TARGET_ALTIVEC_ABI instead of TARGET_ALTIVEC.
We should probably review anything that may need TARGET_ALTIVEC_ABI
instead of TARGET_ALTIVEC...perhaps later.
OK with those 2 changes.
Aldy
>
> 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