[llvm] [RISCV] Add optimization for memset inline (PR #146673)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 21 10:04:29 PST 2025


================
@@ -1799,7 +1799,11 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
   PredictableSelectIsExpensive = Subtarget.predictableSelectIsExpensive();
 
   MaxStoresPerMemsetOptSize = Subtarget.getMaxStoresPerMemset(/*OptSize=*/true);
-  MaxStoresPerMemset = Subtarget.getMaxStoresPerMemset(/*OptSize=*/false);
+  MaxStoresPerMemset = Subtarget.hasVInstructions()
+                           ? (Subtarget.getRealMinVLen() / 8 *
+                              Subtarget.getMaxLMULForFixedLengthVectors() /
+                              (Subtarget.is64Bit() ? 8 : 4))
----------------
topperc wrote:

Why is this based on is64Bit?

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


More information about the llvm-commits mailing list