https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56493
--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> --- Btw, I think that (int) ((long unsigned int) q + D.2078) to (int) ((unsigned int) q + (unsigned int) D.2078) doesn't look like an always profitable pattern on GIMPLE (more stmts). Also take into consideration what targets PROMOTE_MODE (mode-of-q/D.2078) do and prefer types according to that. The vectorizer prefers single type sizes throughout computations to avoid re-packing.