AVR: Adding +/-1 to a lower reg doesn't need a scratch.

Adding +/-1 to a lower register can be performed by sequences like
   sec
   adc r14, __zero_reg__
   adc r15, __zero_reg__
resp.
   sec
   sbc r14, __zero_reg__
   sbc r15, __zero_reg__
that don't need a scratch reg.  The code size is unchanged but
the register pressure goes down.

gcc/
	* config/avr/avr.cc (avr_out_plus_1): Handle +/-1 on the
	lower regs without needing a scratch.
	* config/avr/avr.md (add<mode>3_clobber, *add<mode>3_clobber)
	(add<mode>3, *add<mode>3, addpsi3, *addpsi3): Add constraint
	alternative "Y01 Ym1" for +/-1 without scratch.
2 files changed