Refactor x86 vectorized gather path
commitb068886dcd7eb4a88dd82643a7a6176215471889
authorRichard Biener <rguenther@suse.de>
Wed, 18 Oct 2023 12:39:21 +0000 (18 14:39 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 19 Oct 2023 12:25:36 +0000 (19 14:25 +0200)
tree83f9a8e9ceff29c07324781377445d8b6e8873c2
parent947fb34a165af881ad53fc8ebd226660f7bc199e
Refactor x86 vectorized gather path

The following moves the builtin decl gather vectorization path along
the internal function and emulated gather vectorization paths,
simplifying the existing function down to generating the call and
required conversions to the actual argument types.  This thereby
exposes the unique support of two times larger number of offset
or data vector lanes.  It also makes the code path handle SLP
in principle (but SLP build needs adjustments for this, patch coming).

* tree-vect-stmts.cc (vect_build_gather_load_calls): Rename
to ...
(vect_build_one_gather_load_call): ... this.  Refactor,
inline widening/narrowing support ...
(vectorizable_load): ... here, do gather vectorization
with builtin decls along other gather vectorization.
gcc/tree-vect-stmts.cc