[llvm] [LV][EVL]Support reversed loads/stores. (PR #88025)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 17 03:32:49 PDT 2024
================
@@ -9365,10 +9359,17 @@ void VPReplicateRecipe::execute(VPTransformState &State) {
/// Creates either vp_store or vp_scatter intrinsics calls to represent
/// predicated store/scatter.
-static Instruction *
-lowerStoreUsingVectorIntrinsics(IRBuilderBase &Builder, Value *Addr,
- Value *StoredVal, bool IsScatter, Value *Mask,
- Value *EVL, const Align &Alignment) {
+static Instruction *lowerStoreUsingVectorIntrinsics(
+ IRBuilderBase &Builder, Value *Addr, Value *StoredVal, bool IsScatter,
+ bool IsReverse, Value *Mask, Value *EVL, const Align &Alignment) {
+ if (IsReverse) {
+ auto *StoredValTy = cast<VectorType>(StoredVal->getType());
+ Value *BlockInMaskPart =
----------------
fhahn wrote:
Would be good to clarify the name here, the variable is not really for the block-in mask and independent of a part.
https://github.com/llvm/llvm-project/pull/88025
More information about the llvm-commits
mailing list