2 // { dg-additional-options "-msse2" { target sse2_runtime } }
3 // { dg-additional-options "-mavx" { target avx_runtime } }
5 extern "C" void abort ();
6 int a[1024] __attribute__((aligned (32))) = { 1 };
7 #pragma omp declare reduction (foo:int:omp_out += omp_in) \
8 initializer (omp_priv = 0)
10 __attribute__((noinline, noclone)) void
14 #pragma omp simd aligned(a : 32) reduction(foo:u) reduction(+:v)
15 for (i = 0; i < 1024; i++)
23 __attribute__((noinline, noclone)) void
27 #pragma omp simd aligned(a : 32) reduction(foo:u) reduction(+:v) \
29 for (i = 0; i < 1024; i++)
41 for (i = 0; i < 1024; i++)
42 a[i] = (i & 31) + (i / 128);
45 if (u != 19456 || v != 19456)
49 if (u != 19456 || v != 19456)