https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65082
Georg-Johann Lay <gjl at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target|AVR-GCC |avr Priority|P3 |P5 Status|UNCONFIRMED |WAITING Last reconfirmed| |2015-02-20 Ever confirmed|0 |1 --- Comment #2 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- This cannot be reproduced with register unsigned r4 asm ("r4"); extern unsigned x; void f (void) { r4 += x; } and compiled with $ avr-gcc prog.c -S -Os Neither with 4.8 nor 4.9 nor 5.0: In all cases, the generated code is: f: lds r24,x lds r25,x+1 add r4,r24 adc r5,r25 ret (In reply to NickParker from comment #0) > c code: > --------------------------------------------------------- > register uint16_t phaseAccPh asm ("r4"); > uint16_t phaseAccFr; > > phaseAccPh += phaseAccFr; This is not C code that can be compiled. Please read the bug reporting instructions again. https://gcc.gnu.org/bugs/#report