[llvm] [LoopVectorize][X86] Rewrite guaranteed-safe masked stores as load-blend-store] (PR #206654)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 30 00:22:28 PDT 2026


================
@@ -6851,6 +6851,14 @@ bool X86TTIImpl::enableInterleavedAccessVectorization() const {
   return !(ST->isAtom());
 }
 
+bool X86TTIImpl::shouldRewriteMaskedStoreAsLoadBlendStore() const {
+  // Driven by the X86 tuning feature `slow-masked-store`, which is set on
+  // znver1/znver2/znver3 (the AMD Zen generations whose variable-mask vector
+  // store path is microcoded). znver4 and later have first-class AVX-512
+  // masked stores and therefore opt out via X86.td.
+  return ST->hasSlowMaskedStore();
----------------
Andarwinux wrote:

hasSlowMaskedStore looks strange – this should directly depend on hasAVX512

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


More information about the llvm-commits mailing list