1 /* { dg-require-effective-target size32plus } */
2 /* { dg-timeout-factor 4.0 } */
12 int A
[M
][M
][M
], B
[M
][M
], C
[M
][M
];
14 static int __attribute__((noinline
))
19 /* These loops contain too few iterations to be blocked by 64. */
20 for (i
= 0; i
< 24; i
++)
21 for (j
= 0; j
< 24; j
++)
22 for (k
= 0; k
< 24; k
++)
23 A
[i
][j
][k
] = B
[i
][k
] * C
[k
][j
];
25 /* These loops should still be loop blocked. */
26 for (i
= 0; i
< M
; i
++)
27 for (j
= 0; j
< M
; j
++)
28 for (k
= 0; k
< M
; k
++)
29 A
[i
][j
][k
] = B
[i
][k
] * C
[k
][j
];
31 return A
[0][0][0] + A
[M
-1][M
-1][M
-1];
41 for (i
= 0; i
< M
; i
++)
42 for (j
= 0; j
< M
; j
++)
51 fprintf (stderr
, "res = %d \n", res
);
60 /* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" } } */
61 /* { dg-final { cleanup-tree-dump "graphite" } } */