[llvm] [LV][EVL] Support call instruction with EVL-vectorization (PR #110412)

via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 14 01:18:26 PST 2024


================
@@ -1027,6 +1027,10 @@ InstructionCost VPWidenIntrinsicRecipe::computeCost(ElementCount VF,
   for (const auto &[Idx, Op] : enumerate(operands())) {
     auto *V = Op->getUnderlyingValue();
     if (!V) {
+      if (VPIntrinsic::isVPIntrinsic(VectorIntrinsicID)) {
+        Arguments.push_back(V);
+        break;
+      }
----------------
LiqinWeng wrote:

> I see, but I don't have better idea for this, since both all-true mask and EVL are not Value when we computing cost. :(
So before I took the cost to be based on non-vp intrinsics ~ From BasicTTIImpl.h && RISCVTargetTransform implementation: VP Intrinsics should have the same cost as their non-vp counterparts.  Are we sure use cost is based on vp intrisnic?

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


More information about the llvm-commits mailing list