From 2b8453c401b699ed93c085d0413ab4b5030bcdb8 Mon Sep 17 00:00:00 2001 From: liuhongt Date: Mon, 6 Sep 2021 13:48:49 +0800 Subject: Enable auto-vectorization at O2 with very-cheap cost model. gcc/ChangeLog: * common.opt (ftree-vectorize): Add Var(flag_tree_vectorize). * doc/invoke.texi (Options That Control Optimization): Update documents. * opts.c (default_options_table): Enable auto-vectorization at O2 with very-cheap cost model. (finish_options): Use cheap cost model for explicit -ftree{,-loop}-vectorize. gcc/testsuite/ChangeLog: * c-c++-common/Wstringop-overflow-2.c: Adjust testcase. * g++.dg/tree-ssa/pr81408.C: Ditto. * g++.dg/warn/Wuninitialized-13.C: Ditto. * gcc.dg/Warray-bounds-51.c: Ditto. * gcc.dg/Warray-parameter-3.c: Ditto. * gcc.dg/Wstringop-overflow-14.c: Ditto. * gcc.dg/Wstringop-overflow-21.c: Ditto. * gcc.dg/Wstringop-overflow-68.c: Ditto. * gcc.dg/Wstringop-overflow-76.c: Ditto. * gcc.dg/gomp/pr46032-2.c: Ditto. * gcc.dg/gomp/pr46032-3.c: Ditto. * gcc.dg/gomp/simd-2.c: Ditto. * gcc.dg/gomp/simd-3.c: Ditto. * gcc.dg/graphite/fuse-1.c: Ditto. * gcc.dg/pr67089-6.c: Ditto. * gcc.dg/pr82929-2.c: Ditto. * gcc.dg/pr82929.c: Ditto. * gcc.dg/store_merging_1.c: Ditto. * gcc.dg/store_merging_11.c: Ditto. * gcc.dg/store_merging_13.c: Ditto. * gcc.dg/store_merging_15.c: Ditto. * gcc.dg/store_merging_16.c: Ditto. * gcc.dg/store_merging_19.c: Ditto. * gcc.dg/store_merging_24.c: Ditto. * gcc.dg/store_merging_25.c: Ditto. * gcc.dg/store_merging_28.c: Ditto. * gcc.dg/store_merging_30.c: Ditto. * gcc.dg/store_merging_5.c: Ditto. * gcc.dg/store_merging_7.c: Ditto. * gcc.dg/store_merging_8.c: Ditto. * gcc.dg/strlenopt-85.c: Ditto. * gcc.dg/tree-ssa/dump-6.c: Ditto. * gcc.dg/tree-ssa/pr19210-1.c: Ditto. * gcc.dg/tree-ssa/pr47059.c: Ditto. * gcc.dg/tree-ssa/pr86017.c: Ditto. * gcc.dg/tree-ssa/pr91482.c: Ditto. * gcc.dg/tree-ssa/predcom-1.c: Ditto. * gcc.dg/tree-ssa/predcom-dse-3.c: Ditto. * gcc.dg/tree-ssa/prefetch-3.c: Ditto. * gcc.dg/tree-ssa/prefetch-6.c: Ditto. * gcc.dg/tree-ssa/prefetch-8.c: Ditto. * gcc.dg/tree-ssa/prefetch-9.c: Ditto. * gcc.dg/tree-ssa/ssa-dse-18.c: Ditto. * gcc.dg/tree-ssa/ssa-dse-19.c: Ditto. * gcc.dg/uninit-40.c: Ditto. * gcc.dg/unroll-7.c: Ditto. * gcc.misc-tests/help.exp: Ditto. * gcc.target/i386/avx512vpopcntdqvl-vpopcntd-1.c: Ditto. * gcc.target/i386/pr34012.c: Ditto. * gcc.target/i386/pr49781-1.c: Ditto. * gcc.target/i386/pr95798-1.c: Ditto. * gcc.target/i386/pr95798-2.c: Ditto. * gfortran.dg/pr77498.f: Ditto. --- gcc/testsuite/gcc.dg/tree-ssa/dump-6.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr47059.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr86017.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/pr91482.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c | 2 +- gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) (limited to 'gcc/testsuite/gcc.dg/tree-ssa') diff --git a/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c b/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c index 70659c0..6c80390 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/dump-6.c @@ -1,6 +1,6 @@ /* PR middle-end/90676 - default GIMPLE dumps lack information { dg-do compile } - { dg-options "-O2 -fdump-tree-store-merging" } + { dg-options "-O2 -fno-tree-vectorize -fdump-tree-store-merging" } { dg-require-effective-target int32plus } { dg-require-effective-target store_merge } */ diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c index 50d86a0..b9e40e9 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fopt-info-loop-missed" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fopt-info-loop-missed" } */ extern void g(void); void diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr47059.c b/gcc/testsuite/gcc.dg/tree-ssa/pr47059.c index 9f9c61a..860cde1 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr47059.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr47059.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Os -fdump-tree-optimized" } */ +/* { dg-options "-Os -fno-tree-vectorize -fdump-tree-optimized" } */ struct struct1 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr86017.c b/gcc/testsuite/gcc.dg/tree-ssa/pr86017.c index f216e83..c7ef73a 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr86017.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr86017.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-store-merging" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-store-merging" } */ void f (void*); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr91482.c b/gcc/testsuite/gcc.dg/tree-ssa/pr91482.c index 7d6a724..0ddad57 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr91482.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr91482.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-ccp1 -fdump-tree-store-merging" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-ccp1 -fdump-tree-store-merging" } */ void write64 (void *p) { diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c index f68be2b..8c3d9a4 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-do run } */ -/* { dg-options "-O2 -funroll-loops --param max-unroll-times=8 -fpredictive-commoning -fdump-tree-pcom-details" } */ +/* { dg-options "-O2 -fno-tree-vectorize -funroll-loops --param max-unroll-times=8 -fpredictive-commoning -fdump-tree-pcom-details" } */ void abort (void); diff --git a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c index ec08d6c..1fc8f08 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/predcom-dse-3.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fno-inline -fno-tree-loop-distribute-patterns -fpredictive-commoning -fdump-tree-pcom-details" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fno-inline -fno-tree-loop-distribute-patterns -fpredictive-commoning -fdump-tree-pcom-details" } */ int arr1[105] = {2, 3, 5, 7, 11, 13, 0}; int arr2[105] = {2, 3, 5, 7, 11, 13, 0}; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c index 467903b..46f0d0c 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-3.c @@ -1,7 +1,7 @@ /* Prefetching used to prefer nonsensical unroll factor of 5 in this testcase. */ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ -/* { dg-options "-O2 -fprefetch-loop-arrays -march=amdfam10 -fdump-tree-aprefetch-details" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fprefetch-loop-arrays -march=amdfam10 -fdump-tree-aprefetch-details" } */ #define N 1000000 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c index 12f0901..3fa7168 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-6.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ -/* { dg-options "-O2 -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 --param min-insn-to-prefetch-ratio=6 -fdump-tree-aprefetch-details" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 --param min-insn-to-prefetch-ratio=6 -fdump-tree-aprefetch-details" } */ #define N 1000 #define K 900 diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c index cbd6a80..00f41c3 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-8.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ -/* { dg-options "-O2 -fno-tree-loop-distribute-patterns -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fno-tree-loop-distribute-patterns -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ #define K 1000000 int a[K]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c index da48473..e8848c3 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/prefetch-9.c @@ -1,5 +1,5 @@ /* { dg-do compile { target { i?86-*-* x86_64-*-* } } } */ -/* { dg-options "-O2 -fno-tree-loop-distribute-patterns -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fno-tree-loop-distribute-patterns -fprefetch-loop-arrays -march=amdfam10 --param simultaneous-prefetches=100 -fdump-tree-aprefetch-details -fdump-tree-optimized" } */ #define K 1000000 int a[K], b[K]; diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c index 92b2df8..2e7b5b4 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-18.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-optimized" } */ int g(_Complex int*); int f(void) { diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c index 718b746..7bb8d06 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-19.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -fdump-tree-optimized" } */ +/* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-optimized" } */ int g(_Complex int*); int f(void) { -- cgit v1.1