https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108724

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note that the GCC 11 branch isn't affected by what's fixed on trunk and GCC 12,
the 11 branch still uses vect_worthwhile_without_simd_p which checks
vect_min_worthwhile_factor.

Instead the GCC 11 branch correctly doesn't vectorize the add but instead
vectorizes the stores only which results in stack spilling to build
the DImode values we then store.  We're also doing this in odd ways.

In GCC 13/12 we have fixed this in the costing:

node 0x4156628 1 times vec_construct costs 100 in prologue

while the GCC 11 branch costs this as 8.  Not sure where this happens in
the target.

Hmm, I think this happens in error.

Reply via email to