http://gcc.gnu.org/viewcvs?view=revision&revision=185043

This wrong code bug for __memx space was caused by a missing R22 in the
register footprint of xload<mode>_A split.

Johann

        PR target/52484
        * config/avr/avr.md (xload<mode>_A): Add R22... to register footprint.

Index: config/avr/avr.md
===================================================================
--- config/avr/avr.md   (revision 185031)
+++ config/avr/avr.md   (working copy)
@@ -436,6 +436,7 @@ (define_insn_and_split "xload8_A"
 (define_insn_and_split "xload<mode>_A"
   [(set (match_operand:MOVMODE 0 "register_operand" "=r")
         (match_operand:MOVMODE 1 "memory_operand"    "m"))
+   (clobber (reg:MOVMODE 22))
    (clobber (reg:QI 21))
    (clobber (reg:HI REG_Z))]
   "can_create_pseudo_p()

Reply via email to