https://gcc.gnu.org/g:3c15b26d5f072cd083d469df976cf6adf3e68fb3

commit r13-9198-g3c15b26d5f072cd083d469df976cf6adf3e68fb3
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Mon Nov 18 18:12:38 2024 +0100

    AVR: target/117659 - Fix wrong code for u24 << 16.
    
    gcc/
            PR target/117659
            * config/avr/avr.cc (avr_out_ashlpsi3) [case 16]: Use %A1 as
            input (instead of bogus %A0).
    
    (cherry picked from commit bba27015f2815a8fa6fae46a29a70644e868341c)

Diff:
---
 gcc/config/avr/avr.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc
index d729936b7daa..b2d98cc46a18 100644
--- a/gcc/config/avr/avr.cc
+++ b/gcc/config/avr/avr.cc
@@ -7097,7 +7097,7 @@ avr_out_ashlpsi3 (rtx_insn *insn, rtx *op, int *plen)
             int reg1 = REGNO (op[1]);
 
             if (reg0 + 2 != reg1)
-              avr_asm_len ("mov %C0,%A0", op, plen, 1);
+              avr_asm_len ("mov %C0,%A1", op, plen, 1);
 
             return avr_asm_len ("clr %B0"  CR_TAB
                                 "clr %A0", op, plen, 2);

Reply via email to