[llvm] [RISCV] Fold shladd into Xqcisls scaled load/store in RISCVMergeBaseOffset (PR #182221)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 20 18:52:47 PST 2026


================
@@ -575,6 +576,126 @@ bool RISCVMergeBaseOffsetOpt::foldIntoMemoryOps(MachineInstr &Hi,
   return true;
 }
 
+// Try to fold sequences of the form:
+//   Hi/lo:    qc.e.li vreg1, s           -> qc.e.li vreg1, s+imm
+//   TailAdd:  shxadd vreg2, vreg3, vreg1 -> deleted
+//   Tail:     lx vreg4, imm(vreg2)       -> qc.lrx vreg4, vreg1, vreg3, (1/2/3)
----------------
topperc wrote:

(1/2/3) is really 1-7?

https://github.com/llvm/llvm-project/pull/182221


More information about the llvm-commits mailing list