1 /* { dg-options "-O3 -fdump-tree-unrolljam" } */
2
3 void
4 f (int *restrict x, int *restrict y, int z[restrict 100][100])
5 {
6 for (int j = 0; j < 100; ++j)
7 for (int i = 0; i < 100; ++i)
8 x[i] += y[i] * z[j][i];
9 }
10
11 /* The loop should be unrolled 2 times, leaving one load from x,
12 one load from y and 2 loads from z. */
13 /* { dg-final { scan-tree-dump-times { = \(*\*} 4 "unrolljam" } } */