On Tue, Oct 8, 2024 at 4:56 PM Richard Biener
<[email protected]> wrote:
>
> On Tue, Oct 8, 2024 at 10:36 AM liuhongt <[email protected]> wrote:
> >
> > gcc/testsuite/ChangeLog:
> >
> > * gcc.dg/fstack-protector-strong.c: Adjust
> > scan-assembler-times.
> > * gcc.dg/graphite/scop-6.c: Add
> > -Wno-aggressive-loop-optimizations.
> > * gcc.dg/graphite/scop-9.c: Ditto.
> > * gcc.dg/tree-ssa/ivopts-lt-2.c: Add -fno-tree-vectorize.
> > * gcc.dg/tree-ssa/ivopts-lt.c: Ditto.
> > * gcc.dg/tree-ssa/loop-16.c: Ditto.
> > * gcc.dg/tree-ssa/loop-28.c: Ditto.
> > * gcc.dg/tree-ssa/loop-bound-2.c: Ditto.
> > * gcc.dg/tree-ssa/loop-bound-4.c: Ditto.
> > * gcc.dg/tree-ssa/loop-bound-6.c: Ditto.
> > * gcc.dg/tree-ssa/predcom-4.c: Ditto.
> > * gcc.dg/tree-ssa/predcom-5.c: Ditto.
> > * gcc.dg/tree-ssa/scev-11.c: Ditto.
> > * gcc.dg/tree-ssa/scev-9.c: Ditto.
> > * gcc.dg/tree-ssa/split-path-11.c: Ditto.
> > * gcc.dg/unroll-8.c: Ditto.
> > * gcc.dg/var-expand1.c: Ditto.
> > * gcc.dg/vect/vect-cost-model-6.c: Ditto.
> > * gcc.target/i386/pr86270.c: Ditto.
> > * gcc.target/i386/pr86722.c: Ditto.
> > * gcc.target/x86_64/abi/callabi/leaf-2.c: Ditto.
> > ---
> > gcc/testsuite/gcc.dg/fstack-protector-strong.c | 2 +-
> > gcc/testsuite/gcc.dg/graphite/scop-6.c | 1 +
> > gcc/testsuite/gcc.dg/graphite/scop-9.c | 1 +
> > gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/loop-16.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/loop-28.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/loop-bound-2.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/loop-bound-4.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/loop-bound-6.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/scev-11.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/scev-9.c | 2 +-
> > gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c | 2 +-
> > gcc/testsuite/gcc.dg/unroll-8.c | 3 +--
> > gcc/testsuite/gcc.dg/var-expand1.c | 2 +-
> > gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c | 2 +-
> > gcc/testsuite/gcc.target/i386/pr86270.c | 2 +-
> > gcc/testsuite/gcc.target/i386/pr86722.c | 2 +-
> > gcc/testsuite/gcc.target/x86_64/abi/callabi/leaf-2.c | 2 +-
> > 21 files changed, 21 insertions(+), 20 deletions(-)
> >
> > diff --git a/gcc/testsuite/gcc.dg/fstack-protector-strong.c
> > b/gcc/testsuite/gcc.dg/fstack-protector-strong.c
> > index 94dc3508f1a..b9f63966b7c 100644
> > --- a/gcc/testsuite/gcc.dg/fstack-protector-strong.c
> > +++ b/gcc/testsuite/gcc.dg/fstack-protector-strong.c
> > @@ -154,4 +154,4 @@ void foo12 ()
> > global3 ();
> > }
> >
> > -/* { dg-final { scan-assembler-times "stack_chk_fail" 12 } } */
> > +/* { dg-final { scan-assembler-times "stack_chk_fail" 11 } } */
> > diff --git a/gcc/testsuite/gcc.dg/graphite/scop-6.c
> > b/gcc/testsuite/gcc.dg/graphite/scop-6.c
> > index 9bc1d9f4ccd..6ea887d9041 100644
> > --- a/gcc/testsuite/gcc.dg/graphite/scop-6.c
> > +++ b/gcc/testsuite/gcc.dg/graphite/scop-6.c
> > @@ -26,4 +26,5 @@ int toto()
> > return a[3][5] + b[2];
> > }
>
> The testcase looks bogus:
>
> b[i+k] = b[i+k-5] + 2;
>
> accesses b[-3], can you instead adjust the inner loop to start with k == 4?
>
> > +/* { dg-additional-options "-Wno-aggressive-loop-optimizations" } */
> > /* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} }
> > */
> > diff --git a/gcc/testsuite/gcc.dg/graphite/scop-9.c
> > b/gcc/testsuite/gcc.dg/graphite/scop-9.c
> > index b19291be2f8..2a36bf92fd4 100644
> > --- a/gcc/testsuite/gcc.dg/graphite/scop-9.c
> > +++ b/gcc/testsuite/gcc.dg/graphite/scop-9.c
> > @@ -21,4 +21,5 @@ int toto()
> > return a[3][5] + b[2];
> > }
>
> Likewise.
>
> > +/* { dg-additional-options "-Wno-aggressive-loop-optimizations" } */
> > /* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} }
> > */
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
> > index bdbdbff19ff..be325775fbb 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt-2.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fno-tree-loop-distribute-patterns
> > -fdump-tree-ivopts" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize
> > -fno-tree-loop-distribute-patterns -fdump-tree-ivopts" } */
> > /* { dg-skip-if "PR68644" { hppa*-*-* powerpc*-*-* } } */
> >
> > void
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
> > index 71d7f672c44..8d2b9d39355 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopts-lt.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fno-tree-loop-distribute-patterns
> > -fdump-tree-ivopts" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize
> > -fno-tree-loop-distribute-patterns -fdump-tree-ivopts" } */
> > /* { dg-require-effective-target stdint_types } */
> >
> > #include "stdint.h"
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-16.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/loop-16.c
> > index 6bcb56cf3a9..92587f17df0 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-16.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-16.c
> > @@ -2,7 +2,7 @@
> > at most 100 times, thus the (32-bit) induction variables do not
> > overflow,
> > and we may use 64-bit variable to represent them. */
> >
> > -/* { dg-options "-O2 -fdump-tree-optimized" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-optimized" } */
> > /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
> >
> > unsigned a[100];
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c
> > index 3ca0ab8ea5f..85769c914c3 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-28.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */
> > -/* { dg-options "-O2 -fprefetch-loop-arrays -march=amdfam10
> > -fdump-tree-optimized -fdump-tree-aprefetch --param
> > max-unrolled-insns=1000" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fprefetch-loop-arrays
> > -march=amdfam10 -fdump-tree-optimized -fdump-tree-aprefetch --param
> > max-unrolled-insns=1000" } */
> >
> > char x[100000];
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-2.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-2.c
> > index 802dd290e50..d93e5654e7a 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-2.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-2.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ivopts-details" } */
> >
> > int *a;
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-4.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-4.c
> > index b9d7d4196aa..543d9a5120b 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-4.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-4.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ivopts-details" } */
> >
> > int *a;
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-6.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-6.c
> > index 8319434985d..74f88f17f78 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-6.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-bound-6.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ivopts-details" } */
> >
> > int *a;
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c
> > index af9ae0e0f3d..7c99ccd109a 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do run } */
> > -/* { dg-options "-O2 -funroll-loops --param max-unroll-times=8
> > -fpredictive-commoning -fdump-tree-pcom-details-blocks" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -funroll-loops --param
> > max-unroll-times=8 -fpredictive-commoning -fdump-tree-pcom-details-blocks"
> > } */
>
> What's the issue with predcom here? Is it Invalid Sum triggering?
for x86
when with -march=cascadelake, the failure is
FAIL: gcc: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-not pcom "Invalid sum"
FAIL: gcc: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-not pcom "Invalid sum"
w/o -march=cascadelake the failure is
FAIL: gcc: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom
"Unrolling 3 times." 1
FAIL: gcc: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom
"Unrolling 3 times." 1
for arm
FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Unrolling
3 times." 1
FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-not pcom "Invalid sum"
FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Unrolling
3 times." 1
>
> > /* Test for predictive commoning of expressions, without reassociation. */
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c
> > index 52adb59d669..6b8a13fe830 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do run } */
> > -/* { dg-options "-O2 -funroll-loops --param max-unroll-times=8
> > -fpredictive-commoning -fdump-tree-pcom-details-blocks" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -funroll-loops --param
> > max-unroll-times=8 -fpredictive-commoning -fdump-tree-pcom-details-blocks"
> > } */
> >
> > /* Test for predictive commoning of expressions, with reassociation. */
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-11.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/scev-11.c
> > index f15688538ea..2506eb89b74 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-11.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-11.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ivopts-details" } */
> >
> > int a[128];
> > extern int b[];
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-9.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/scev-9.c
> > index cbd7c85edfa..7381e961e93 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-9.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-9.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-tree-ivopts-details" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ivopts-details" } */
> >
> > int *a;
> >
> > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c
> > b/gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c
> > index 6c15c16151b..1f042414467 100644
> > --- a/gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c
> > +++ b/gcc/testsuite/gcc.dg/tree-ssa/split-path-11.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fsplit-paths
> > -fdump-tree-split-paths-details -w" } */
> >
> > void foo(unsigned long long *M)
> > {
> > diff --git a/gcc/testsuite/gcc.dg/unroll-8.c
> > b/gcc/testsuite/gcc.dg/unroll-8.c
> > index 4388f47d4c7..6cd8dacc365 100644
> > --- a/gcc/testsuite/gcc.dg/unroll-8.c
> > +++ b/gcc/testsuite/gcc.dg/unroll-8.c
> > @@ -1,6 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fdump-rtl-loop2_unroll-details-blocks
> > -funroll-loops" } */
> > -/* { dg-additional-options "-fno-tree-vectorize" { target amdgcn-*-* } } */
> > +/* { dg-options "-O2 -fno-tree-vectorize
> > -fdump-rtl-loop2_unroll-details-blocks -funroll-loops" } */
> >
> > struct a {int a[7];};
> > int t(struct a *a, int n)
> > diff --git a/gcc/testsuite/gcc.dg/var-expand1.c
> > b/gcc/testsuite/gcc.dg/var-expand1.c
> > index 3d536cef2b3..1f3f3b3338c 100644
> > --- a/gcc/testsuite/gcc.dg/var-expand1.c
> > +++ b/gcc/testsuite/gcc.dg/var-expand1.c
> > @@ -2,7 +2,7 @@
> > /* We don't (and don't want to) perform this optimisation on soft-float
> > targets, where each addition is a library call. */
> > /* { dg-require-effective-target hard_float } */
> > -/* { dg-options "-O2 -funroll-loops --fast-math
> > -fvariable-expansion-in-unroller -fdump-rtl-loop2_unroll" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -funroll-loops --fast-math
> > -fvariable-expansion-in-unroller -fdump-rtl-loop2_unroll" } */
> > /* { dg-additional-options "--param max-completely-peel-times=16 --param
> > max-unroll-times=8" { target s390*-*-* } } */
> >
> > extern void abort (void);
> > diff --git a/gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c
> > b/gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c
> > index 552febb5fee..6547814544e 100644
> > --- a/gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c
> > +++ b/gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c
> > @@ -2,7 +2,7 @@
> > /* { dg-additional-options "-O2 -ftree-vectorize
> > -fvect-cost-model=very-cheap" } */
> >
> > void
> > -f (int *restrict x, int *restrict y)
> > +f (int * x, int * y)
>
> Please remove this testcase - even with fully masking we'd need alias
> versioning.
>
> The testcase was speicifcially testing no epilogue peeling is done
> with very-cheap.
>
> The rest of the adjustments are OK
>
> > {
> > for (unsigned int i = 0; i < 1023; ++i)
> > x[i] += y[i];
> > diff --git a/gcc/testsuite/gcc.target/i386/pr86270.c
> > b/gcc/testsuite/gcc.target/i386/pr86270.c
> > index 98b012caf23..68562446fa4 100644
> > --- a/gcc/testsuite/gcc.target/i386/pr86270.c
> > +++ b/gcc/testsuite/gcc.target/i386/pr86270.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -fno-unroll-loops" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -fno-unroll-loops" } */
> >
> > int *a;
> > long len;
> > diff --git a/gcc/testsuite/gcc.target/i386/pr86722.c
> > b/gcc/testsuite/gcc.target/i386/pr86722.c
> > index 95ddbd8ddb9..dd01ceaa0df 100644
> > --- a/gcc/testsuite/gcc.target/i386/pr86722.c
> > +++ b/gcc/testsuite/gcc.target/i386/pr86722.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile { target { ! ia32 } } } */
> > -/* { dg-options "-O2 -mno-avx -msse" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -mno-avx -msse" } */
> >
> > void f(double*d,double*e){
> > for(;d<e;++d)
> > diff --git a/gcc/testsuite/gcc.target/x86_64/abi/callabi/leaf-2.c
> > b/gcc/testsuite/gcc.target/x86_64/abi/callabi/leaf-2.c
> > index 2a54bc89cfc..5f3d3e166af 100644
> > --- a/gcc/testsuite/gcc.target/x86_64/abi/callabi/leaf-2.c
> > +++ b/gcc/testsuite/gcc.target/x86_64/abi/callabi/leaf-2.c
> > @@ -1,5 +1,5 @@
> > /* { dg-do compile } */
> > -/* { dg-options "-O2 -mabi=sysv" } */
> > +/* { dg-options "-O2 -fno-tree-vectorize -mabi=sysv" } */
> >
> > extern int glb1, gbl2, gbl3;
> >
> > --
> > 2.31.1
> >
--
BR,
Hongtao