[llvm-branch-commits] [llvm] [LoopVectorize] Support vectorization of compressing patterns (PR #214491)

Andrei Elovikov via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Aug 17 11:19:19 PDT 2026


================
@@ -6372,6 +6405,36 @@ VPHistogramRecipe *VPRecipeBuilder::widenIfHistogram(VPInstruction *VPI) {
                                VPI->getDebugLoc());
 }
 
+VPWidenMemIntrinsicRecipe *
+VPRecipeBuilder::widenIfCompressedMemoryOp(VPInstruction *VPI) {
+  Instruction *I = VPI->getUnderlyingInstr();
+  if (!Legal->isCompressedLoadOrStore(I))
+    return nullptr;
+
+  VPBuilder::InsertPointGuard Guard(Builder);
+  Builder.setInsertPoint(VPI);
+
+  VPValue *Mask = VPI->getMask();
+  Type *AccessTy = getLoadStoreType(I);
+  Align Alignment = getLoadStoreAlignment(I);
+
+  VPValue *Ptr = VPI->getOpcode() == Instruction::Load ? VPI->getOperand(0)
+                                                       : VPI->getOperand(1);
+  Ptr = Builder.createConsecutiveVectorPointer(Ptr, AccessTy,
----------------
eas wrote:

I'd like to have a `Stride == 1` assert here as well, similar to my comment above.

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


More information about the llvm-branch-commits mailing list