1 /* PR tree-optimization/94166 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -fcompare-debug" } */
4
5 typedef int __m128i __attribute__((__may_alias__, __vector_size__(4 * sizeof (int))));
6 unsigned int b[512];
7
8 void
9 foo (unsigned int *x, __m128i *y)
10 {
11 #define A(n) __m128i v##n = y[n];
12 #define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) A(n##5) A(n##6) A(n##7) \
13 A(n##8) A(n##9) A(n##a) A(n##b) A(n##c) A(n##d) A(n##e) A(n##f)
14 #define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) B(n##5) B(n##6) B(n##7)
15 C(0x)
16 #undef A
17 #define A(n) *(__m128i *) &b[4 * n] = v##n;
18 C(0x)
19 #undef A
20 #define A(n) + b[4 * n] + b[4 * n + 1] + b[4 * n + 2] + b[4 * n + 3]
21 *x = *x
22 C(0x)
23 ;
24 }