[Bug target/110979] Miss-optimization for O2 fully masked loop on floating point reduction.
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Aug 11 07:33:22 GMT 2023
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
More information about the Gcc-bugs
mailing list