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.

Reply via email to