[llvm] Fix/aarch64 memset dup optimization (PR #166030)

David Green via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 12 11:13:49 PST 2025


================
@@ -18341,10 +18342,12 @@ EVT AArch64TargetLowering::getOptimalMemOpType(
            Fast;
   };
 
-  if (CanUseNEON && Op.isMemset() && !IsSmallMemset &&
-      AlignmentIsAcceptable(MVT::v16i8, Align(16)))
+  // For non-zero memset, use NEON even for smaller sizes as dup + scalar store
+  // is efficient
+  if (CanUseNEON && Op.isMemset() && !IsSmallZeroMemset)
----------------
davemgreen wrote:

Does this not need to check AlignmentIsAcceptable?

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


More information about the llvm-commits mailing list