https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122297
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
I believe the
if (rgl->factor == 1 && factor == 1)
{
poly_int64 nunits1 = TYPE_VECTOR_SUBPARTS (rgl->type);
poly_int64 nunits2 = TYPE_VECTOR_SUBPARTS (vectype);
if (maybe_ne (nunits1, nunits2))
{
...
path in vect_get_loop_len might also go wrong. I belive the inner condition
should be the outer one and the outer one should be an assert ().
