For z10 and newer inner loops are completely unrolled which means store motion is not applied. Reverting max-completely-peeled-insns to the default value fixes these testcases.
Ok for mainline? gcc/testsuite/ChangeLog: * gcc.dg/tree-ssa/pr83403-1.c: Revert max-completely-peeled-insns to the default value on IBM Z. * gcc.dg/tree-ssa/pr83403-2.c: Likewise. --- gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c | 1 + gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c | 1 + 2 files changed, 2 insertions(+) diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c index 748375b03af..bfc703d1aa6 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-1.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */ +/* { dg-additional-options "--param max-completely-peeled-insns=200" { target { s390*-*-* } } } */ #define TYPE unsigned int diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c index ca2e6bbd61c..9130d9bd583 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr83403-2.c @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-options "-O3 -funroll-loops -fdump-tree-lim2-details" } */ +/* { dg-additional-options "--param max-completely-peeled-insns=200" { target { s390*-*-* } } } */ #define TYPE int -- 2.23.0