[llvm] [LV][EVL]Support reversed loads/stores. (PR #88025)
via llvm-commits
llvm-commits at lists.llvm.org
Fri May 3 04:41:53 PDT 2024
================
@@ -9377,12 +9377,13 @@ void VPWidenLoadRecipe::execute(VPTransformState &State) {
}
}
-static Value *reverseMask(IRBuilderBase &Builder, Value *Mask, Value *EVL,
- Value *AllTrueMask) {
- VectorType *MaskTy = cast<VectorType>(Mask->getType());
- return Builder.CreateIntrinsic(MaskTy, Intrinsic::experimental_vp_reverse,
- {Mask, AllTrueMask, EVL}, nullptr,
- "vp.reverse.mask");
+static Instruction *createReverseEVL(IRBuilderBase &Builder, Value *Operand,
----------------
ayalz wrote:
```suggestion
/// Use all-true mask for reverse rather than actual mask, as it avoids a dependence w/o affecting the result.
static Instruction *createReverseEVL(IRBuilderBase &Builder, Value *Operand,
```
https://github.com/llvm/llvm-project/pull/88025
More information about the llvm-commits
mailing list