/* { 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 } } } } */ |