https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116782
Bug ID: 116782
Summary: x86 backend cannot control vectorization of gather and
masked gather (and scatter) separately
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
The x86 backend still uses the builtin_{gather,scatter} hooks (PR85919) but
those do not distinguish between masked and non-masked use. Masked gathers
and scatters are vectorization enabler and not only needed for performance
as we cannot open-code them easily.
The proposal would be to implement mask_gather_load_optab and
mask_scatter_store_optab, partially transitioning to IFNs and thereby
have a set of patterns to enable separately.