This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]