1  /* PR target/87807 */
       2  /* Reported by Rainer Orth <ro@gcc.gnu.org> */
       3  
       4  /* { dg-do run } */
       5  /* { dg-options "-std=c99" } */
       6  
       7  #include <stdarg.h>
       8  
       9  typedef double __attribute__ ((vector_size (16))) vector_double;
      10  
      11  vector_double v2df = { 1.0, 2.0 };
      12  
      13  void
      14  f (vector_double a, ...)
      15  {
      16    va_list argp;
      17    va_start (argp, a);
      18    vector_double x = va_arg (argp, vector_double);
      19    if (x[0] != a[0] || x[1] != a[1])
      20      __builtin_abort ();
      21    va_end (argp);
      22  }
      23  
      24  int
      25  main (void)
      26  {
      27    f (v2df, v2df);
      28    return 0;
      29  }