[llvm] [LoopVectorize] Support vectorization of compressing patterns (PR #214491)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 28 04:06:20 PDT 2026
================
@@ -6205,6 +6239,38 @@ VPHistogramRecipe *VPRecipeBuilder::widenIfHistogram(VPInstruction *VPI) {
VPI->getDebugLoc());
}
+VPWidenMemIntrinsicRecipe *VPRecipeBuilder::widenIfCompressedLoadOrStore(
+ VPInstruction *VPI, VPConditionalInductionPHIRecipe *PhiR) {
+ Instruction *I = VPI->getUnderlyingInstr();
+
+ std::optional<CompressedPtrInfo> Info = Legal->isCompressedLoadOrStore(I);
+ if (!Info || Info->ConditionalInductionPHI != PhiR->getPHINode())
+ return nullptr;
+
+ VPBuilder::InsertPointGuard Guard(Builder);
+ Builder.setInsertPoint(VPI);
+
+ VPValue *Mask = VPI->getMask();
----------------
MacDue wrote:
I've rejected this case for now. In theory we could support it if we could hoist the mask generation to occur before the load.
https://github.com/llvm/llvm-project/pull/214491
More information about the llvm-commits
mailing list