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)
     {

Reply via email to