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