libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / loop-interchange-16.c
blobbbcb14f9c6c5ccdc8aa98b6a0b6f94638637ca05
1 /* PR/101280 */
2 /* { dg-do compile } */
3 /* { dg-options "-O3 -fdump-tree-linterchange-details" } */
5 void dummy (double *, double *);
6 #define LEN_2D 32
7 double aa[LEN_2D][LEN_2D], bb[LEN_2D][LEN_2D];
8 double s231(int iterations)
10 // loop interchange
11 // loop with data dependency
12 for (int nl = 0; nl < 100*(iterations/LEN_2D); nl++) {
13 for (int i = 0; i < LEN_2D; ++i) {
14 #pragma GCC unroll 0
15 for (int j = 1; j < LEN_2D; j++) {
16 aa[j][i] = aa[j - 1][i] + bb[j][i];
19 dummy(aa[0],bb[0]);
23 /* { dg-final { scan-tree-dump "loops interchanged" "linterchange" } } */