On Tue, Oct 8, 2024 at 4:56 PM Richard Biener <richard.guent...@gmail.com> wrote: > > On Tue, Oct 8, 2024 at 10:36 AM liuhongt <hongtao....@intel.com> 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