PR target/50447
commit37bcc7b99d2e842113aef5219819d0db24e745a6
authorgjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Sep 2011 17:02:10 +0000 (23 17:02 +0000)
committergjl <gjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Sep 2011 17:02:10 +0000 (23 17:02 +0000)
tree47bbefd4d4c98a4a2fa91ba603f21b74d16907d0
parent9cb990f2c94a57d3ea1aec8eb83b12838a6242e7
PR target/50447
* config/avr/avr.md: (adjust_len): Add alternative "out_plus".
(addsi3): Rewrite using QI scratch register.  Adjust text
peepholes using plus:SI.
(*addsi3_zero_extend.hi): New insn.
(*subsi3_zero_extend.hi): New insn.
(*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
(*subsi3_zero_extend): Ditto.
(subsi3): Change predicate #2 to register_operand.
* config/avr/avr-protos.h (avr_out_plus): New prototype.
(avr_out_plus_1): New static function.
(avr_out_plus): New function.
(adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179123 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md