On Fri, Dec 13, 2019 at 12:45:47PM +0000, Richard Sandiford wrote: > combine's to blame for the fact that we have two pseudo registers rather > than one. See the comments about the avr-elf results in: > > https://gcc.gnu.org/ml/gcc-patches/2019-11/msg02150.html > > for more details.
It's not combine's fault if register allocation does a bad job. And we should *not* generate worse code in combine just because it exposes a problem in RA (with 2-2 and make_more_copies we generate better code on average, on all targets I tested, 50 or so). If having two pseudos here is not an advantage, then RA should optimise one away. It does usually, why not here? Segher