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

--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <[email protected]>:

https://gcc.gnu.org/g:710581c80b2fd39fa7a8674eccf7dca8cbc7c9c0

commit r17-343-g710581c80b2fd39fa7a8674eccf7dca8cbc7c9c0
Author: H.J. Lu <[email protected]>
Date:   Mon May 4 05:08:51 2026 +0800

    or1k: Allow SImode for condition flag register

    Commit

    eb2ea476db2 emit-rtl: Allow extra checks for paradoxical subregs [PR119966]

    changed validate_subreg to return false on the paradoxical SImode subreg
    of the OpenRISC condition flag register (reg:BI sr_f), which triggered

    internal compiler error: in emit_move_multi_word, at expr.cc:4497

    c0694f95f59 or1k: Fix ICE in libgcc caused by recent validate_subreg
changes

    changed or1k_can_change_mode_class to allow changing flags mode from BI
    to SI.  But or1k_hard_regno_mode_ok still returns false for condition
    flag register in SImode.  Update or1k_hard_regno_mode_ok to also allow
    condition flag register in SImode.

    Tested with or1k Linux cross compiler for or1k glibc build.

    gcc/

            PR target/120587
            PR target/125155
            * config/or1k/or1k.cc (or1k_hard_regno_mode_ok): Allow condition
            condition flag register in SImode.

    gcc/testsuite/

            PR target/120587
            PR target/125155
            * gcc.target/or1k/pr125155.c: New test.

    Signed-off-by: H.J. Lu <[email protected]>

Reply via email to