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 ().

Reply via email to