[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