https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107212
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. We vectorize the loop and that triggers full constant folding leading to the wrong result somehow. Same issue with GCC 11 when you add -ftree-vectorize or use -O3, not observed with GCC 10. The reduction epilogue of the SLP reduction looks duplicate wrong.