[Bug target/55212] [SH] Switch to LRA

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 30 22:50:05 GMT 2026


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

--- Comment #478 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Oleg Endo <olegendo@gcc.gnu.org>:

https://gcc.gnu.org/g:b13642241df8f18dfd2e32f7e550d53dbea6e55f

commit r17-2031-gb13642241df8f18dfd2e32f7e550d53dbea6e55f
Author: Oleg Endo <olegendo@gcc.gnu.org>
Date:   Sun Sep 29 21:33:29 2024 +0900

    SH: Tighten memory predicates and constraints

    In particular, reject invalid hard-regs for memory address registers when
using
    LRA.  Unfortunately we need to distingquish between old reload and LRA
behaviors
    for the transitional period.  LRA seems to require stricter predicates and
    constraints.

    gcc/ChangeLog:

            PR target/55212
            * config/sh/predicates.md (simple_mem_operand):
            Use 'satisfies_constraint_Sra'.
            (post_inc_mem, pre_dec_mem): Use 'satisfies_constraint_Rab'.
            * config/sh/constraints.md (Rab, Rai, Sgb): New constraints.
            (Sua, Sdd, Snd, Ssd, Sbv, Sra, Ara, Add): Use Rab and Rai
constraints.
            * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
Reject
            GBR addresses when hard-llcs atomic mode is enabled.


More information about the Gcc-bugs mailing list