https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98550
--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:52a170b1a1818b7521c25e76271638a448b3f630 commit r11-6613-g52a170b1a1818b7521c25e76271638a448b3f630 Author: Richard Biener <rguent...@suse.de> Date: Tue Jan 12 11:17:33 2021 +0100 tree-optimization/98550 - fix BB vect unrolling check This fixes the check that disqualifies BB vectorization because of required unrolling to match up with the later exact_div we do. To not disable the ability to split groups that do not match up exactly with a choosen vector type this also introduces a soft-fail mechanism to vect_build_slp_tree_1 which delays failing to after the matches[] array is populated from other checks and only then determines the split point according to the vector type. 2021-01-12 Richard Biener <rguent...@suse.de> PR tree-optimization/98550 * tree-vect-slp.c (vect_record_max_nunits): Check whether the group size is a multiple of the vector element count. (vect_build_slp_tree_1): When we need to fail because the vector type choosen causes unrolling do so lazily without affecting matches only at the end to guide group splitting. * g++.dg/opt/pr98550.C: New testcase.