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.

Reply via email to