fix Xtensa argument alignment for large vectors

Bob Wilson bwilson@tensilica.com
Sat Aug 26 17:21:00 GMT 2006


I've committed this patch on the mainline.  It fixes the g++.dg- 
struct-layout-1/t028 and t029 tests for Xtensa.  These were broken  
because I was assuming that no types have alignment greater than  
BIGGEST_ALIGNMENT, but that's not the case for some large vector  
types.  The patch limits argument alignment to STACK_BOUNDARY (128  
bits), which matches the Xtensa ABI and the assumptions in the Xtensa  
code.

2006-08-26  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa/xtensa.c (function_arg_boundary): New.
	(function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to
	STACK_BOUNDARY.
	* config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new
	function_arg_boundary function that limits alignment to STACK_BOUNDARY.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gcc-biggest-align.patch
Type: application/octet-stream
Size: 2711 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20060826/f19fb14d/attachment.obj>


More information about the Gcc-patches mailing list