https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101188
--- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- Created attachment 55152 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55152&action=edit diff testcase by v4.9.2 vs v5.2.1 Code from v4.9.2 is correct, but from v5.2.1 is bogus: --- fail1-4.9.2.sx 2023-05-24 17:20:46.508698338 +0200 +++ fail1-5.2.1.sx 2023-05-24 17:19:50.019976879 +0200 @@ -39,11 +39,11 @@ adiw r24,1 ; 13 addhi3_clobber/1 [length = 1] std Z+1,r25 ; 14 *movhi/4 [length = 2] st Z,r24 - adiw r30,2 ; 15 *addhi3/3 [length = 1] - movw r14,r16 ; 39 *movhi/1 [length = 1] - ldi r24,68 ; 16 addhi3_clobber/3 [length = 3] - add r14,r24 + movw r14,r16 ; 38 *movhi/1 [length = 1] + ldi r31,68 ; 15 addhi3_clobber/3 [length = 3] + add r14,r31 adc r15,__zero_reg__ + adiw r30,2 ; 17 *addhi3/3 [length = 1] ld __tmp_reg__,Z+ ; 18 *movhi/3 [length = 3] ld r31,Z mov r30,__tmp_reg__