https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116282

--- Comment #2 from Jeffrey A. Law <law at gcc dot gnu.org> ---
I haven't fully debugged, but I strongly suspect this is a case where matching
is inconsistent before/after LRA due to the paths through the constant
synthesis code which check if we can create new pseudos.  

Furthermore, this will become a bigger problem once we sort through Raphael's
constant synthesis improvements for !ZBKB since those improvements add at least
 two more paths through the constant synthesis code which will be dependent
upon the ability to allocate a scratch register.

The improvement from the problem pattern is pretty marginal; it was supposed to
help a case in xz and it did in the heavily reduced testcase.  But it didn't
make a bit of difference in practice.  Additionally, I've never been terribly
happy with how the pattern's condition works.  I need to ponder this a bit
more, but one option is to simply get rid of this problem pattern.

Reply via email to