[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