1/* { dg-do run } */
2/* { dg-options "-msse" } */
3/* { dg-require-effective-target sse } */
4
5#include "sse-check.h"
6
7extern void abort(void);
8typedef int __attribute__ ((vector_size (16))) foo_t;
9
10struct s
11{
12  foo_t f[0];
13} s1;
14
15void
16check (int x, ...) __attribute__((noinline));
17void
18check (int x, ...)
19{
20  int y;
21  __builtin_va_list ap;
22
23  __builtin_va_start (ap, x);
24  __builtin_va_arg (ap, struct s);
25  y = __builtin_va_arg (ap, int);
26
27  if (y != 7)
28    abort ();
29}
30
31static void
32sse_test (void)
33{
34  check (3, s1, 7);
35}
36