/* { dg-do compile } */ /* { dg-require-effective-target vect_float } */ /* { dg-additional-options "-fno-math-errno" } */ void foo (float * __restrict x, float *y, int n, int m) { if (m > 0) for (int i = 0; i < n; ++i) { float tem = x[i], tem1; for (int j = 0; j < m; ++j) { tem += y[j]; tem1 = tem; tem = __builtin_sqrtf (tem); } x[i] = tem - tem1; } } /* { dg-final { scan-tree-dump "OUTER LOOP VECTORIZED" "vect" { target { vect_call_sqrtf } } } } */