]> git.ipfire.org Git - thirdparty/gcc.git/commit
SH: Fix cost estimation of mem load/store
authorOleg Endo <olegendo@gcc.gnu.org>
Sun, 13 Oct 2024 02:36:38 +0000 (11:36 +0900)
committerOleg Endo <olegendo@gcc.gnu.org>
Mon, 14 Oct 2024 02:20:47 +0000 (11:20 +0900)
commitb717c462b96e7870f8081d2bc330e4749a4b0538
tree3d271965f2dd732e10c40cd6abd437ac6d088622
parent7ec8b4bf42fe9e27f7cf65fafae62e57be784db2
SH: Fix cost estimation of mem load/store

For memory loads/stores (that contain a MEM rtx) sh_rtx_costs would wrongly
report a cost lower than 1 insn which is not accurate as it makes loads/stores
appear cheaper than simple arithmetic insns.  The cost of a load/store insn is
at least 1 insn plus the cost of the address expression (some addressing modes
can be considered more expensive than others due to additional constraints).

gcc/ChangeLog:

PR target/113533
* config/sh/sh.cc (sh_rtx_costs): Adjust cost estimation of MEM rtx
to be always at least COST_N_INSNS (1).  Forward speed argument to
sh_address_cost.

Co-authored-by: Roger Sayle <roger@nextmovesoftware.com>
gcc/config/sh/sh.cc