If you mean the last branch of interleave, I think it is safe because it 
leverage the
merge to generate the result, instead of IOR. Only the IOR for final result have
this issue.

Yep, I meant checking overflow before the initial if

          if (known_ge (step1, 0) && known_ge (step2, 0)
              && int_mode_for_size (new_smode_bitsize, 0).exists (&new_smode)
              && get_vector_mode (new_smode, new_nunits).exists (&new_mode))

and basically adding a new clause here. That would make us fall back to the merge scheme in case of overflow instead of making the other scheme more complicated.

I haven't checked this but could imagine the merge sequence is not worse or even preferable.

--
Regards
Robin

Reply via email to