https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113441
--- Comment #30 from Richard Biener <rguenth at gcc dot gnu.org> --- The x86 and "emulation" paths handle narrowing/widening during code generation (but yes, the IFN path doesn't). A fix would be to do similar as for the gs_info.decl case in vectorizable_load/store and handle select cases of widening/narrowing (2x) and adjust vect_check_gather_scatter accordingly. That might be against the spirit of how the IFN support was laid out (possibly to be "cleaner"), but I don't see a good way to avoid the very premature (during pattern selection) load/store vectorization choosing for the cases there are multiple possibilities as seen here.