On Fri, 11 Oct 2019, Rainer Orth wrote: > Hi Christophe, > > > On Thu, 10 Oct 2019 at 16:01, Richard Biener <rguent...@suse.de> wrote: > > > >> > >> The following fixes a few param adjustments that are made based on > >> per-function adjustable flags by moving the adjustments to their > >> users. Semantics change in some minor ways but that's allowed > >> for --params. > >> > >> Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. > >> > >> Hi, > > > > This generates several regressions. > > On aarch64: > > FAIL: gcc.target/aarch64/vect_fp16_1.c scan-assembler-times > > fadd\tv[0-9]+.8h 2 > > > > on arm-linux-gnueabihf: > > FAIL: gcc.dg/vect/vect-align-1.c -flto -ffat-lto-objects > > scan-tree-dump-times vect "vectorized 1 loops" 1 > > FAIL: gcc.dg/vect/vect-align-1.c scan-tree-dump-times vect "vectorized 1 > > loops" 1 > > FAIL: gcc.dg/vect/vect-align-2.c -flto -ffat-lto-objects > > scan-tree-dump-times vect "vectorized 1 loops" 1 > > FAIL: gcc.dg/vect/vect-align-2.c scan-tree-dump-times vect "vectorized 1 > > loops" 1 > > > > on armeb-linux-gnueabihf, many (316) like: > > FAIL: gcc.dg/vect/O3-vect-pr34223.c scan-tree-dump-times vect "vectorized 1 > > loops" 1 > > FAIL: gcc.dg/vect/fast-math-pr35982.c scan-tree-dump-times vect "vectorized > > 1 loops" 1 > > > > still on armeb-linux-gnueabihf: > > g++.dg/vect/pr33426-ivdep-2.cc -std=c++14 (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep-2.cc -std=c++17 (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep-2.cc -std=c++2a (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep-2.cc -std=c++98 (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep-3.cc (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep-4.cc (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep.cc -std=c++14 (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep.cc -std=c++17 (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep.cc -std=c++2a (test for warnings, line ) > > g++.dg/vect/pr33426-ivdep.cc -std=c++98 (test for warnings, line ) > > > > gfortran.dg/vect/no-vfa-pr32377.f90 -O scan-tree-dump-times vect > > "vectorized 2 loops" 1 > > gfortran.dg/vect/pr19049.f90 -O scan-tree-dump-times vect > > "vectorized 1 loops" 1 > > gfortran.dg/vect/pr32377.f90 -O scan-tree-dump-times vect > > "vectorized 2 loops" 1 > > gfortran.dg/vect/vect-2.f90 -O scan-tree-dump-times vect > > "vectorized 3 loops" 1 > > gfortran.dg/vect/vect-3.f90 -O scan-tree-dump-times vect "Alignment > > of access forced using versioning" 3 > > gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times vect "accesses > > have the same alignment." 1 > > gfortran.dg/vect/vect-4.f90 -O scan-tree-dump-times vect > > "vectorized 1 loops" 1 > > gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vect "Alignment > > of access forced using versioning." 2 > > gfortran.dg/vect/vect-5.f90 -O scan-tree-dump-times vect > > "vectorized 1 loops" 1 > > that's PR tree-optimization/92066, also seen on sparc, powerpc64, and > ia64.
Hmm, OK. There's one obvious bug fixed below, other than that I have to investigate in more detail. Committed as obvious. Richard. 2019-10-11 Richard Biener <rguent...@suse.de> PR tree-optimization/92066 PR tree-optimization/92046 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Fix bogus cost model check. Index: gcc/tree-vect-data-refs.c =================================================================== --- gcc/tree-vect-data-refs.c (revision 276858) +++ gcc/tree-vect-data-refs.c (working copy) @@ -2179,7 +2179,7 @@ do_versioning = (optimize_loop_nest_for_speed_p (loop) && !loop->inner /* FORNOW */ - && flag_vect_cost_model > VECT_COST_MODEL_CHEAP); + && flag_vect_cost_model != VECT_COST_MODEL_CHEAP); if (do_versioning) {