/* { dg-do run } */ /* { dg-options "-fcilkplus -O3" } */ #include #define N 4 float f1[] = { 2.0, 3.0, 4.0, 5.0 }; float f2[] = { 1.0, 6.0, -1.0, -2.0 }; float res[] = { 3.0, 9.0, 3.0, 3.0 }; __attribute__((noinline)) void verify (float *sum) { for (int i=0; i < N; ++i) if (sum[i] != res[i]) abort (); } int main() { float sum[N]; #pragma simd for (int i=0; i < N; ++i) sum[i] = f1[i] + f2[i]; verify (sum); return 0; }