2 /* { dg-require-effective-target avx } */
3 /* { dg-options "-mavx" } */
15 __m128 n1
= { -283.3, -23.3, 213.4, 1119.03 };
16 struct m256d n2
= { { -93.83, 893.318, 3994.3, -39484.0 } };
17 __m128i n3
= { 893, -3180 } ;
20 __m128i n6
= { -123, 2 };
21 __m128d n7
= { -91.387, -8193.518 };
22 struct m256d n8
= { { -123.3, 2.3, 3.4, -10.03 } };
23 __m128 n9
= { -123.3, 2.3, 3.4, -10.03 };
24 __m128i n10
= { 1233, -100 };
27 __m128i n13
= { 233, -110 };
28 __m256i n14
= { -1233, 23, 34, -1003 };
29 __m128i n15
= { -393, -180 };
30 __m128d n16
= { 73.0, 63.18 };
31 __m256 n17
= { -183.3, -22.3, 13.9, -119.3, 483.1, 122.3, -33.4, -9.37 };
32 __m128 n18
= { -183.3, 22.3, 13.4, -19.03 };
54 __attribute__((noinline
))
55 foo (va_list va_arglist
)
57 e4
= va_arg (va_arglist
, int);
58 e5
= va_arg (va_arglist
, double);
59 e6
= va_arg (va_arglist
, __m128i
);
60 e7
= va_arg (va_arglist
, __m128d
);
61 e8
= va_arg (va_arglist
, struct m256d
);
62 e9
= va_arg (va_arglist
, __m128
);
63 e10
= va_arg (va_arglist
, __m128i
);
64 e11
= va_arg (va_arglist
, int);
65 e12
= va_arg (va_arglist
, double);
66 e13
= va_arg (va_arglist
, __m128i
);
67 e14
= va_arg (va_arglist
, __m256i
);
68 e15
= va_arg (va_arglist
, __m128i
);
69 e16
= va_arg (va_arglist
, __m128d
);
70 e17
= va_arg (va_arglist
, __m256
);
71 e18
= va_arg (va_arglist
, __m128
);
76 __attribute__((noinline
))
77 test (__m128 a1
, struct m256d a2
, __m128i a3
, ...)
84 va_start (va_arglist
, a3
);
92 test (n1
, n2
, n3
, n4
, n5
, n6
, n7
, n8
, n9
, n10
, n11
, n12
,
93 n13
, n14
, n15
, n16
, n17
, n18
);
94 assert (__builtin_memcmp (&e1
, &n1
, sizeof (e1
)) == 0);
95 assert (__builtin_memcmp (&e2
, &n2
, sizeof (e2
)) == 0);
96 assert (__builtin_memcmp (&e3
, &n3
, sizeof (e3
)) == 0);
99 assert (__builtin_memcmp (&e6
, &n6
, sizeof (e6
)) == 0);
100 assert (__builtin_memcmp (&e7
, &n7
, sizeof (e7
)) == 0);
101 assert (__builtin_memcmp (&e8
, &n8
, sizeof (e8
)) == 0);
102 assert (__builtin_memcmp (&e9
, &n9
, sizeof (e9
)) == 0);
103 assert (__builtin_memcmp (&e10
, &n10
, sizeof (e10
)) == 0);
106 assert (__builtin_memcmp (&e13
, &n13
, sizeof (e13
)) == 0);
107 assert (__builtin_memcmp (&e14
, &n14
, sizeof (e14
)) == 0);
108 assert (__builtin_memcmp (&e15
, &n15
, sizeof (e15
)) == 0);
109 assert (__builtin_memcmp (&e16
, &n16
, sizeof (e16
)) == 0);
110 assert (__builtin_memcmp (&e17
, &n17
, sizeof (e17
)) == 0);
111 assert (__builtin_memcmp (&e18
, &n18
, sizeof (e18
)) == 0);