1/* { dg-do compile } */ 2/* { dg-require-effective-target avx } */ 3/* { dg-options "-O3 -mavx -fdump-tree-vect-details" } */ 4/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ 5/* { dg-final { cleanup-tree-dump "vect" } } */ 6 7unsigned int a[1024] __attribute__((aligned (32))); 8 9__attribute__((noinline, noclone)) void 10foo (int j) 11{ 12 int i; 13 for (i = 0; i < 1024; i++) 14 a[i] = (a[i] << j) | (a[i] >> ((-j) & 31)); 15} 16