https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65657
Senthil Kumar Selvaraj <senthil_kumar.selvaraj at atmel dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |senthil_kumar.selvaraj@atme | |l.com --- Comment #3 from Senthil Kumar Selvaraj <senthil_kumar.selvaraj at atmel dot com> --- Happens on a recent trunk build as well. Here's a simpler testcase. $ cat foo.c void foo (char a, unsigned int b); void readx (const char __memx *x) { foo (*x, 0xABCD); } $ avr-gcc -mmcu=atmega1280 foo.c -S -Os $ cat foo.s <snip> mov r18,r22 mov r25,r23 ldi r22,lo8(-51); Load 0xABCD into r22:r23 in prep for call to foo ldi r23,lo8(-85) mov r30,r18 mov r31,r25 mov r21,r24 call __xload_1; r22 clobbered here mov r24,r22 jmp foo