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

Reply via email to