https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97334
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- So what happens is that we fatally fail the SLP build of the multiplication operands since they look like t5.c:20:37: note: vect_is_simple_use: operand _58 * _59, type of def: internal t5.c:20:37: note: vect_is_simple_use: operand _59 * _62, type of def: internal t5.c:20:37: note: vect_is_simple_use: operand _59 * _65, type of def: internal ... with both having the unvectorizable (non-group) _59. We should commutate the first stmt to move all unvectorizable ops into operand one and only build that from scalars. This is fortunately the "good" order I have a fix^Whack for.