1 /* { dg-require-effective-target vect_float } */
10 float c[N][N], b[N][N], a[N];
12 __attribute__ ((noinline)) int
18 /* In inner loop vectorization -funsafe-math-optimizations is needed to
19 vectorize the summation. But in outer loop vectorization the order of
20 calculation doesn't change, therefore, there is no need in that flag. */
21 for (i = 0; i < N; i++)
24 for (j = 0; j < N; j++)
25 diff += (b[j][i] - c[j][i]);
31 for (i = 0; i < N; i++)
42 for (i = 0; i < N; i++)
43 for (j = 0; j < N; j++)
56 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" } } */
57 /* { dg-final { cleanup-tree-dump "vect" } } */