https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123250
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=123225
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This makes almost no sense (not saying the bisect is wrong). As before this
patch we would be maybe copying more than necessary and this patch removes
that. It would peel off the first iteration in some cases.
Unless something I missed with respect to PGO that I just don't understand.
Looks like it happens on zen4 too:
https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=1109.60.0
And zen3:
https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=693.60.0
But it started before at -O2 (without PGO) before hand:
https://lnt.opensuse.org/db_default/v4/SPEC/graph?plot.0=464.60.0
And that is pointing to uncountable loop vectorization so PR 123225.
Which does makes sense why before my patch does not expose it, PGO with the bug
in ch was hiding the vectorization. Now it I fixed the bug in ch and the other
issue comes into play and it seems to be worse with PGO ...