https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91934
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |needs-bisection
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ah, OK, so the GCC 8 vectorizer result is definitely strange, for the
unroll-and-jam variant it detects
/home/toch/Projects/gcc83_problem/apply.c:6:9: note: === vect_detect_hybrid_slp
===
/home/toch/Projects/gcc83_problem/apply.c:6:9: note: === vect_update_vf_for_slp
===
/home/toch/Projects/gcc83_problem/apply.c:6:9: note: Loop contains SLP and
non-SLP stmts
/home/toch/Projects/gcc83_problem/apply.c:6:9: note: Updating vectorization
factor to 8.
/home/toch/Projects/gcc83_problem/apply.c:6:9: note: vectorization_factor = 8,
niters = 200
which makes it go downhill. Maybe the fix can be bisected and backported
(the GCC 9 branch is fine here). The key is the 'Loop contains SLP and non-SLP
stmts' phrase in the -fdump-tree-vect-details dump.