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__

Reply via email to