On Wed, Oct 9, 2024 at 3:27 AM liuhongt <hongtao....@intel.com> wrote: > > Update in V3. > >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? > > Changed, also adjust b[100] to b[200] to avoid array out of bound. > > >Please remove this testcase - even with fully masking we'd need alias > >versioning. > > Changed. > > Ready push to trunk.
OK. Thanks, Richard. > gcc/testsuite/ChangeLog: > > * gcc.dg/fstack-protector-strong.c: Adjust > scan-assembler-times. > * gcc.dg/graphite/scop-6.c: Refine the testcase to avoid array > out of bounds. > * 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: Removed. > * 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 | 7 +++---- > gcc/testsuite/gcc.dg/graphite/scop-9.c | 4 ++-- > 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 | 12 ------------ > 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, 23 insertions(+), 37 deletions(-) > delete mode 100644 gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c > > 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..e7e0a080c5f 100644 > --- a/gcc/testsuite/gcc.dg/graphite/scop-6.c > +++ b/gcc/testsuite/gcc.dg/graphite/scop-6.c > @@ -4,7 +4,7 @@ int toto() > { > int i, j, k; > int a[100][100]; > - int b[100]; > + int b[200]; > > for (i = 1; i < 100; i++) > { > @@ -18,9 +18,8 @@ int toto() > for (k = 1; k < 100; k++) > b[i+k] = b[i+k-1] + 2; > } > - > - for (k = 1; k < 100; k++) > - b[i+k] = b[i+k-5] + 2; > + for (k = 4; k < 100; k++) > + b[i+k] = b[i+k-5] + 2; > } > > return a[3][5] + b[2]; > diff --git a/gcc/testsuite/gcc.dg/graphite/scop-9.c > b/gcc/testsuite/gcc.dg/graphite/scop-9.c > index b19291be2f8..2676452b1e6 100644 > --- a/gcc/testsuite/gcc.dg/graphite/scop-9.c > +++ b/gcc/testsuite/gcc.dg/graphite/scop-9.c > @@ -4,7 +4,7 @@ int toto() > { > int i, j, k; > int a[100][100]; > - int b[100]; > + int b[200]; > > for (i = 1; i < 100; i++) > { > @@ -14,7 +14,7 @@ int toto() > if (i * 2 == i + 8) > a[i][i] = 2; > > - for (k = 1; k < 100; k++) > + for (k = 4; k < 100; k++) > b[i+k] = b[i+k-5] + 2; > } > > 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" } > */ > > /* 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 > deleted file mode 100644 > index 552febb5fee..00000000000 > --- a/gcc/testsuite/gcc.dg/vect/vect-cost-model-6.c > +++ /dev/null > @@ -1,12 +0,0 @@ > -/* { dg-do compile } */ > -/* { dg-additional-options "-O2 -ftree-vectorize > -fvect-cost-model=very-cheap" } */ > - > -void > -f (int *restrict x, int *restrict y) > -{ > - for (unsigned int i = 0; i < 1023; ++i) > - x[i] += y[i]; > -} > - > -/* { dg-final { scan-tree-dump {LOOP VECTORIZED} vect { target { vect_int && > vect_partial_vectors_usage_2 } } } } */ > -/* { dg-final { scan-tree-dump-not {LOOP VECTORIZED} vect { target { > vect_int && { ! vect_partial_vectors_usage_2 } } } } } */ > 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 >