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()