------- Comment #5 from jakub at gcc dot gnu dot org 2008-01-21 15:38 -------
And varargs aren't even needed:
typedef __attribute__ ((vector_size (16))) int V;
void foo (int, V, V, V, V);
V v;
void
bar (void)
{
foo (1, v, v, v, v);
}
The regression has been caused by
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125555
pad_to_arg_alignment in this case doesn't increase alignment_pad:
if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
alignment_pad->constant = offset_ptr->constant - save_constant;
because boundary in this case is equal to STACK_BOUNDARY.
--
jakub at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |geoffk at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34621