1 /* { dg-do compile } */
2 /* { dg-options "-O3 -mavx512f -fdump-tree-vect-details" } */
3 
foo(int n,int * off,double * a)4 void foo (int n, int *off, double *a)
5 {
6   const int m = 32;
7 
8   for (int j = 0; j < n/m; ++j)
9     {
10       int const start = j*m;
11       int const end = (j+1)*m;
12 
13 #pragma GCC ivdep
14       for (int i = start; i < end; ++i)
15 	{
16 	  a[off[i]] = a[i] < 0 ? a[i] : 0;
17 	}
18     }
19 }
20 
21 /* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" } } */
22