https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65930
--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> --- Author: rguenth Date: Tue Oct 29 09:33:49 2019 New Revision: 277566 URL: https://gcc.gnu.org/viewcvs?rev=277566&root=gcc&view=rev Log: 2019-10-29 Richard Biener <rguent...@suse.de> PR tree-optimization/65930 * tree-vect-loop.c (check_reduction_path): Relax single-use check allowing out-of-loop uses. (vect_is_simple_reduction): SLP reduction chains cannot have intermediate stmts used outside of the loop. (vect_create_epilog_for_reduction): The adjustment might need to be converted. (vectorizable_reduction): Annotate live stmts of the reduction chain with STMT_VINFO_REDUC_DEF. * tree-vect-stms.c (process_use): Remove no longer true asserts. * gcc.dg/vect/pr65930-1.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/vect/pr65930-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-vect-loop.c trunk/gcc/tree-vect-stmts.c