[Bug rtl-optimization/70873] [7 Regressio] 20% performance regression at 482.sphinx3 after r235442 with -O2 -m32 on Haswell.
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon May 2 07:55:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70873
--- Comment #7 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Bernd Schmidt from comment #6)
> So the problem seems to be peep2 runs before regrename. If you always want
> to generate two instructions there, then yes, a splitter would probably be
> better. Actually just changing define_peephole2 to define_split seems to do
> the trick, can you try whether that fixes the performance regression (I
> don't have a Haswell machine)?
Looking at the pass sequence, it looks to me that we need some global variable
for a "very late" split (_.split4), when we are sure that insn operands won't
be changed anymore.
Even better solution would be a machine-dependent split-like mini-pass plugged
in just after mach-reorg pass.
More information about the Gcc-bugs
mailing list