https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101809
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:08aa0e3d4f781fd6a6e293bb06d280365a0bdc1d commit r12-2836-g08aa0e3d4f781fd6a6e293bb06d280365a0bdc1d Author: Richard Biener <rguent...@suse.de> Date: Tue Aug 10 10:54:58 2021 +0200 tree-optimization/101809 - support emulated gather for double[int] This adds emulated gather support for index vectors with more elements than the data vector. The internal function gather vectorization code doesn't currently handle this (but the builtin decl code does). This allows vectorization of double data gather with int indexes on 32bit platforms where there isn't an implicit widening to 64bit present. 2021-08-10 Richard Biener <rguent...@suse.de> PR tree-optimization/101809 * tree-vect-stmts.c (get_load_store_type): Allow emulated gathers with offset vector nunits being a constant multiple of the data vector nunits. (vect_get_gather_scatter_ops): Use the appropriate nunits for the offset vector defs. (vectorizable_store): Adjust call to vect_get_gather_scatter_ops. (vectorizable_load): Likewise. Handle the case of less offset vectors than data vectors.