https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81179
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org Summary|[8 regression] |gcc.dg/vect/pr65947-9.c and |gcc.dg/vect/pr65947-9.c and |gcc.dg/vect/pr65947-14.c |gcc.dg/vect/pr65947-14.c |fail starting with r249553 |fail starting with r249553 | --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Should be fixed by: Author: jakub Date: Tue Dec 12 08:55:02 2017 New Revision: 255574 URL: https://gcc.gnu.org/viewcvs?rev=255574&root=gcc&view=rev Log: PR tree-optimization/80631 * tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo. (vect_create_epilog_for_reduction): Add INDUC_VAL and INDUC_CODE arguments, for INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of hardcoding zero as the value if COND_EXPR is never true. For INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if INDUC_VAL is equal to INITIAL_DEF, and use INDUC_CODE instead of hardcoding MAX_EXPR as the reduction operation. (is_nonwrapping_integer_induction): Allow negative step. (vectorizable_reduction): Compute INDUC_VAL and INDUC_CODE for vect_create_epilog_for_reduction, if no value is suitable, don't use INTEGER_INDUC_COND_REDUCTION for now. Formatting fixes. * gcc.dg/vect/pr80631-1.c: New test. * gcc.dg/vect/pr80631-2.c: New test. * gcc.dg/vect/pr65947-13.c: Expect integer induc cond reduction vectorization. Added: trunk/gcc/testsuite/gcc.dg/vect/pr80631-1.c trunk/gcc/testsuite/gcc.dg/vect/pr80631-2.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/vect/pr65947-13.c trunk/gcc/tree-vect-loop.c Leaving as open non-regression PR for the improvements Kilian Verhetsel has posted, where we can handle even integer induc conditional reductions starting at constant minimum of the type or constant maximum of the type for negative step, or in theory also variable base with bounded number of iterations.