1 /* { dg-additional-options "-mavx2" { target avx2_runtime } } */
2
3 void __attribute__((noipa))
4 foo (int * __restrict wsum, int * __restrict cff, int * __restrict weight)
5 {
6 for (int i = 0; i < 16; ++i)
7 {
8 *wsum += weight[2*i+0];
9 *cff += weight[2*i+1];
10 }
11 }
12
13 int main()
14 {
15 int weight[32];
16 for (int i = 0; i < 32; ++i)
17 weight[i] = i;
18 int wsum = 0, cff = 0;
19 foo (&wsum, &cff, weight);
20 if (wsum != 240 || cff != 256)
21 __builtin_abort ();
22 return 0;
23 }
24
25 /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "vect" } } */