On 7/19/2026 6:19 AM, Jin Ma wrote:
Add recognition for the following macro-fusion pairs:


   RISCV_FUSE_ADD_LD          - add type + integer load
   RISCV_FUSE_ADD_ST          - add type + integer store
Aren't these already handled by existing cases?


   RISCV_FUSE_SLLI_SRLI       - slli/slliw + srli/srliw
Similarly.  These are bitfield extractions.


   RISCV_FUSE_PREINDEX_LD     - addi type + load
   RISCV_FUSE_PREINDEX_ST     - addi type + store
Again, feels like this likely mirror existing functionality.
   RISCV_FUSE_LDST_PAIR_INC   - ascending integer load/store pair
   RISCV_FUSE_LDST_PAIR_DEC   - descending integer load/store pair
And these as well.

The design goal here is the enum describes a set of fairly generic fusion opportunities, then each core sets those it supports.  Having multiple implementations of what is effectively the same fusion case seems undesirable, hence my concern about defining fusions that I think already exist.

Jeff

Reply via email to