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.

Reply via email to