https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117171
--- Comment #2 from GCC 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:59afd44ffb1bd55fc84b4a36107a9bdba708e9a0 commit r15-4422-g59afd44ffb1bd55fc84b4a36107a9bdba708e9a0 Author: Richard Biener <rguent...@suse.de> Date: Thu Oct 17 14:27:13 2024 +0200 Relax boolean processing in vect_maybe_update_slp_op_vectype The following makes VECTOR_BOOLEAN_TYPE_P processing consistent with what we do without SLP. The original motivation for rejecting of VECTOR_BOOLEAN_TYPE_P extern defs was bad code generation. But the non-SLP codepath happily goes along - but always hits the case of an uniform vector and this case specifically we can now code-generate optimally. So the following allows single-lane externs as well. Requiring patterns to code-generate can have bad influence on the vectorization factor though a prototype patch of mine shows that generating vector compares externally isn't always trivial. The patch fixes the gcc.dg/vect/vect-early-break_82.c FAIL on x86_64 when --param vect-force-slp=1 is in effect. PR tree-optimization/117171 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Relax vect_external_def VECTOR_BOOLEAN_TYPE_P constraint.