------- 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