https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115372
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Note that GCC 14 vectorizes this with two SLP instances using the fixed length V2DFmode while trunk succeeds with RVVM1DF, not using SLP. Trunk now succeeds with that because we no longer split the store group - that splitting (as expected) confused the "re-trying without SLP" non-SLP path, now we can successfully use interleaving for the 16-lane store which we fail to do with SLP because of PR116583. So in the end it's progression that we now can use RVVM1DF and enabling cost modeling shows we also still can use V2DFmode and we'd even choose that mode and get the expected single SLP instance. As soon as we'd enable --param vect-force-slp=1 the testcase will PASS and we'll generate the same code using V2DFmode as with GCC 14. I'll close this bug, the struct_vect-4.c issue is fixed now, the pr97428.c issue also affects aarch64 with SVE and I'll track it in PR1165783.