https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65082
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced testcase: ``` typedef unsigned short uint16_t; register uint16_t r4 asm ("r4"); register uint16_t r6 asm ("r6"); uint16_t pllExec(void) { r4 += r6; return r4>>8; }; ``` We get: mov r24,r4 mov r25,r5 add r24,r6 adc r25,r7 mov r4,r24 mov r5,r25 mov r24,r25 ldi r25,0