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