]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR target/50465 ([avr] Use insn attribute to depict if and how instruction lengths...
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 26 Sep 2011 11:53:40 +0000 (11:53 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Mon, 26 Sep 2011 11:53:40 +0000 (11:53 +0000)
commit8a6a05ce93121efb84acaff4d860ced53c4f2925
tree60e8960452bf9912de1335e7674cc9ea2c2d7def
parent2d0dd51a1a4bd3d27b326b97bd2674db5da8c5a2
re PR target/50465 ([avr] Use insn attribute to depict if and how instruction lengths have to be adjusted)

PR target/50465
* config/avr/avr-protos.h (output_reload_insisf): Don't pass insn.
* config/avr/avr.md (*reload_insi, *reload_insf): Change call to
output_reload_insisf.
(adjust_len): Set default to "no".
Remove alternative "yes".  Add alternatives: "mov8", "mov16",
"mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi",
"lshrhi", "ashlsi, "ashrsi", "lshrsi".
(*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3,
*ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3,
*ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const,
*lshrsi3_const): Set attribute "adjust_len".
* config/avr/avr.c (output_reload_insisf): Remove parameter "insn".
(output_movsisf): Don't pass insn to output_reload_insisf.
(adjust_insn_length): Handle new alternatives to adjust_len.
Remove handling of ADJUST_LEN_YES.  Clean-up code.

From-SVN: r179191
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md