https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110979
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Last reconfirmed| |2023-08-11 Ever confirmed|0 |1 Blocks| |53947 Status|UNCONFIRMED |NEW --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- I think there's a duplicate bug showing in-order reduction vectorization results in bad code (effectively unrolling VF times). I don't think this is in any way connected to using partial vectors though. Now, I think this is also wrong-code to some extent as without -fno-signed-zeros adding 0.0 can result in a wrong sign? Without partial vectors and i != 96 you get similar unrolling, but at least we won't execute adds for not executed lanes. With -O3 you'd get an unrolled main loop and an epilog loop (with the original loop bound). Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations