[llvm] [LV][EVL] Support interleaved access with tail folding by EVL (PR #152070)

Mel Chen via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 11 03:42:06 PDT 2025


================
@@ -2142,6 +2142,10 @@ static VPRecipeBase *optimizeMaskToEVL(VPValue *HeaderMask,
         VPValue *NewMask = GetNewMask(S->getMask());
         return new VPWidenStoreEVLRecipe(*S, EVL, NewMask);
       })
+      .Case<VPInterleaveRecipe>([&](VPInterleaveRecipe *IR) {
+        VPValue *NewMask = GetNewMask(IR->getMask());
+        return new VPInterleaveEVLRecipe(*IR, EVL, NewMask, IR->getDebugLoc());
----------------
Mel-Chen wrote:

We already asserted it in the VPInterleaveEVLRecipe constructor.
```
    assert(!IG->isReverse() &&
           "Reversed interleave-group with tail folding is not supported.");
```

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


More information about the llvm-commits mailing list