https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120856

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Georg-Johann Lay <g...@gcc.gnu.org>:

https://gcc.gnu.org/g:13390e1b65f499ba33b7b5ff76bd9936e81b74e4

commit r16-1758-g13390e1b65f499ba33b7b5ff76bd9936e81b74e4
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Sat Jun 28 16:22:50 2025 +0200

    AVR: target/120856 - Deny R24:DI in avr_hard_regno_mode_ok with Reload.

    This fixes an ICE with -mno-lra when split2 tries to split the following
    zero_extendsidi2 insn:

       (set (reg:DI 24)
            (zero_extend:DI (reg:SI **)))

    The ICE is because avr_hard_regno_mode_ok allows R24:DI but disallows
    R28:SI when Reload is used.  R28:SI is a result of zero_extendsidi2.

    This ICE only occurs with Reload (which will die before very long),
    but it occurs when building libgcc.

    gcc/
            PR target/120856
            * config/avr/avr.cc (avr_hard_regno_mode_ok) [-mno-lra]: Deny
            hard regs >= 4 bytes that overlap Y.

Reply via email to