2012/1/2 Georg-Johann Lay <a...@gjlay.de>: > This is fix for ISR prologue that "cleared" zero reg with > > mov __zero_reg__,__zero_reg__ > > The right way is > > clr __zero_reg__ > > of course. As CLR does change cc0 notice_update_cc needs to be adapted. > > Passes testsuite. Moreover, lightly tested on ISR source (there is no ISR test > case in test suite). > > Ok for trunk? > > Johann > > * config/avr/avr.md (cc): Add alternative "ldi". > (movqi_insn): Use it in cc attribute. > * config/avr/avr.c (notice_update_cc): Handle CC_LDI. > (output_reload_in_const): Use CLR to move 0 to ZERO_REG. > (output_reload_insisf): Use ZERO_REG to pre-clear register. >
Please commit. Denis.