On 8/14/2026 12:00 AM, Jin Ma wrote:
Recognize a non-word ADDI-type in-place address update followed by a
scalar integer or floating-point store. Reuse the indexed-memory helper
shared with LDPREINCREMENT, including its store-source constraint.
Leave the fusion disabled by default and XFAIL its positive dump
checks until a CPU enables it.
gcc/ChangeLog:
* config/riscv/riscv-fusion.cc (riscv_fuse_preindex_st): New
function.
(riscv_fusion_table): Add RISCV_FUSE_PREINDEX_ST.
* config/riscv/riscv-protos.h (enum riscv_fusion_pairs): Add
RISCV_FUSE_PREINDEX_ST.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/fusion-memory-rtl-shapes-preindex-st.c: New test.
* gcc.target/riscv/fusion-preindex-st.c: Likewise.
OK once prerequisites are approved.
jeff