https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96208
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2023-06-21 Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Summary|non-power-of-2 group size |non-grouped load can be SLP |can be vectorized for |vectorized for 2-element |2-element vectors case |vectors case Status|UNCONFIRMED |ASSIGNED --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- typedef struct { double m1, m2, m3, m4, m5; } the_struct_t; double bar1 (the_struct_t*); double foo (double* k, unsigned int n, the_struct_t* the_struct) { unsigned int u; the_struct_t result; for (u=0; u < n; u++, k--) { result.m1 += (*k)*the_struct[u].m1; result.m2 += (*k)*the_struct[u].m2; result.m3 += (*k)*the_struct[u].m3; result.m4 += (*k)*the_struct[u].m4; } return bar1 (&result); } This has come up again as part of PR110062