================
@@ -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
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits