[llvm] [LV][EVL] Support cast instruction with EVL-vectorization (PR #108351)
Mel Chen via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 2 04:27:00 PST 2024
================
@@ -996,22 +996,35 @@ void VPWidenIntrinsicRecipe::execute(VPTransformState &State) {
// Use vector version of the intrinsic.
Module *M = State.Builder.GetInsertBlock()->getModule();
+ bool IsVPIntrinsic = VPIntrinsic::isVPIntrinsic(VectorIntrinsicID);
Function *VectorF =
- Intrinsic::getOrInsertDeclaration(M, VectorIntrinsicID, TysForDecl);
+ IsVPIntrinsic
+ ? VPIntrinsic::getOrInsertDeclarationForParams(M, VectorIntrinsicID,
----------------
Mel-Chen wrote:
@LiqinWeng Yes, that is a problem.
But perhaps we don't have to create exceptions specifically for VP intrinsics. Could you try to extend `isVectorIntrinsicWithOverloadTypeAtArg` to handle it?
https://github.com/llvm/llvm-project/pull/108351
More information about the llvm-commits
mailing list