https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111879
Bug ID: 111879 Summary: No gather BB vectorization for Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- void __attribute__((noipa)) f (int *restrict y, int *restrict x, int *restrict indices) { int i = 0; y[i * 2] = x[indices[i * 2]] + 1; y[i * 2 + 1] = x[indices[i * 2 + 1]] + 2; i++; y[i * 2] = x[indices[i * 2]] + 1; y[i * 2 + 1] = x[indices[i * 2 + 1]] + 2; i++; y[i * 2] = x[indices[i * 2]] + 1; y[i * 2 + 1] = x[indices[i * 2 + 1]] + 2; i++; y[i * 2] = x[indices[i * 2]] + 1; y[i * 2 + 1] = x[indices[i * 2 + 1]] + 2; } doesn't see the gather operation vectorized (extracted from the loop in gcc.dg/vect/vect-gather-1.c). Instead we only see the adds and the stores vectorized.