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.

Reply via email to