/* { dg-require-effective-target vect_simd_clones } */ /* { dg-additional-options "-O3 -fopenmp-simd -ffast-math" } */ #include #include "tree-vect.h" #define N 64 float *px, *py; float *tx, *ty; float *x1, *z1, *t1, *t2; int bound[N]; static void inline bar(const float cx, float cy, float *vx, float *vy, int n) { int j; for (j = 0; j < n; ++j) { const float dx = cx - px[j]; const float dy = cy - py[j]; *vx -= dx * tx[j]; *vy -= dy * ty[j]; } } __attribute__((noinline, noclone)) void foo1 () { int i; int n = bound[63]; #pragma omp simd for (i=0; i