https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103581
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
Status|NEW |ASSIGNED
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
A reproducer needs to trigger masked NARROW case in
vect_build_gather_load_calls.
I wasn't able to build a reproducer sofar. The following vectorizes with
a masked store & masked gather load, side-stepping alias issues:
unsigned long long * __attribute__((noipa))
maskgatherdisi (int n, unsigned int *indices, unsigned long long *data)
{
unsigned long long *out
= __builtin_malloc (sizeof (unsigned long long) * n);
for (int i = 0; i < n; ++i)
{
unsigned int d = indices[i];
if (d > 1)
out[i] = data[d];
}
return out;
}
testing a fix.