https://gcc.gnu.org/g:0d001d05eafffdb833d9793573366e731c29cc46

commit r13-10359-g0d001d05eafffdb833d9793573366e731c29cc46
Author: Georg-Johann Lay <[email protected]>
Date:   Thu Jun 11 19:51:12 2026 +0200

    AVR: target/125751 -- Fix too short insns lengths in avr_out_fract.
    
            PR target/125751
    gcc/
            * config/avr/avr.cc (avr_out_fract): Fix too small sequence
            lengths in avr_asm_len calls.
    
    (cherry picked from commit df28012bc9294aa76490d90498a2a55c6d92c688)

Diff:
---
 gcc/config/avr/avr.cc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index eddfd20ea29c..d7bf6606355f 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -9323,7 +9323,7 @@ avr_out_fract (rtx_insn *insn, rtx operands[], bool 
intsigned, int *plen)
         {
           avr_asm_len ("clr __tmp_reg__" CR_TAB
                        "sbrc %1,0"       CR_TAB
-                       "dec __tmp_reg__", xop, plen, 1);
+                       "dec __tmp_reg__", xop, plen, 3);
           sn = src.regno;
           if (sn < s0)
             {
@@ -9338,7 +9338,7 @@ avr_out_fract (rtx_insn *insn, rtx operands[], bool 
intsigned, int *plen)
             avr_asm_len ("clt"                CR_TAB
                          "bld __tmp_reg__,7"  CR_TAB
                          "adc %0,__tmp_reg__",
-                         &all_regs_rtx[s0], plen, 1);
+                         &all_regs_rtx[s0], plen, 3);
           else
             avr_asm_len ("lsr __tmp_reg" CR_TAB
                          "add %0,__tmp_reg__",
@@ -9537,8 +9537,8 @@ avr_out_fract (rtx_insn *insn, rtx operands[], bool 
intsigned, int *plen)
          xop[2] = all_regs_rtx[s0];
          if (!lsb_in_tmp_reg && !MAY_CLOBBER (s0))
            avr_asm_len ("mov __tmp_reg__,%2", xop, plen, 1);
-         avr_asm_len ("tst %0" CR_TAB "brpl 0f",
-                      &all_regs_rtx[src.regno_msb], plen, 2);
+         avr_asm_len ("tst %0" CR_TAB
+                      "brpl 0f", &all_regs_rtx[src.regno_msb], plen, 2);
          if (!lsb_in_tmp_reg)
            {
              unsigned sn = src.regno;

Reply via email to