blob: d8cec84f149e8d2340b23420f389a557e5249f1e [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-O3 -fcilkplus" } */
/* FIXME: This test has been xfailed until reductions are fixed. */
int argc = 1;
/* This is a simple vectorization test. It tests if reduction works
and if it can vectorize the loop in func correctly. */
#define N 1000
int func (int *p, int *q) {
int x = 0;
#pragma simd reduction (+:x)
for (int ii = 0; ii < N; ii++) {
x += (q[ii] + p[ii]);
}
return x;
}
int main ()
{
int ii = 0, x;
int Array[N], Array2[N];
for (ii = 0; ii < N; ii++)
{
Array[ii] = 5 + argc;
Array2[ii] = argc;
}
x = func (Array, Array2);
if (x != N * 7)
return 1;
return 0;
}