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]

fix Xtensa argument alignment for large vectors


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.

Attachment: gcc-biggest-align.patch
Description: Binary data


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