https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109862
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- I think IVOPTs never considers candidates of different size. One could use niter info to bound the value range (or use ranger) and add a candidate based on that. But you have to be careful with targets that cannot do sub-word arithmetic efficiently.