Yes, that works, too. Will commit. Thanks, Stefan
-- Prevent loop unrolling of the innermost loop because otherwise we are left with no loop interchange for targets like s390 which have a more aggressive loop unrolling strategy. gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/loop-interchange-16.c: Prevent loop unrolling of the innermost loop. --- gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c index 781555e085d..bbcb14f9c6c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c @@ -11,6 +11,7 @@ double s231(int iterations) // loop with data dependency for (int nl = 0; nl < 100*(iterations/LEN_2D); nl++) { for (int i = 0; i < LEN_2D; ++i) { +#pragma GCC unroll 0 for (int j = 1; j < LEN_2D; j++) { aa[j][i] = aa[j - 1][i] + bb[j][i]; } -- 2.43.0