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

Reply via email to