]> gcc.gnu.org Git - gcc.git/commit
target/110088: Improve operation of l-reg with const after move from d-reg.
authorGeorg-Johann Lay <avr@gjlay.de>
Fri, 2 Jun 2023 10:41:07 +0000 (12:41 +0200)
committerGeorg-Johann Lay <avr@gjlay.de>
Fri, 2 Jun 2023 10:41:07 +0000 (12:41 +0200)
commit7bf89a919fdab9e18b7ad3efaa1a79f1d7520ddf
treee948e3c8f91ffd91a43540be5c4a29e3bacc34ff
parent4d866c6bb4569988dbf322473f7c6857640c71b2
target/110088: Improve operation of l-reg with const after move from d-reg.

After reload, there may be sequences like
   lreg = dreg
   lreg = lreg <op> const
with an LD_REGS dreg, non-LD_REGS lreg, and <op> in PLUS, IOR, AND.
If dreg dies after the first insn, it is possible to use
   dreg = dreg <op> const
   lreg = dreg
instead which is more efficient.

gcc/
PR target/110088
* config/avr/avr.md: Add an RTL peephole to optimize operations on
non-LD_REGS after a move from LD_REGS.
(piaop): New code iterator.
gcc/config/avr/avr.md
This page took 0.062239 seconds and 5 git commands to generate.