From: Georg-Johann Lay Date: Mon, 18 Nov 2024 17:12:38 +0000 (+0100) Subject: AVR: target/117659 - Fix wrong code for u24 << 16. X-Git-Tag: releases/gcc-12.5.0~441 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2725b4ed6f248e1239aace322a78ee4d45db110;p=thirdparty%2Fgcc.git 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 --git a/gcc/config/avr/avr.cc b/gcc/config/avr/avr.cc index f355146f992b..c0f5242c0b2e 100644 --- a/gcc/config/avr/avr.cc +++ b/gcc/config/avr/avr.cc @@ -7048,7 +7048,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);