[llvm] [ConstantFolding] Add folding for [de]interleave2, insert and extract (PR #141301)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Wed May 28 09:45:43 PDT 2025
================
@@ -3734,6 +3738,77 @@ static Constant *ConstantFoldFixedVectorCall(
}
return nullptr;
}
+ case Intrinsic::vector_extract: {
+ auto *Vec = dyn_cast<Constant>(Operands[0]);
+ auto *Idx = dyn_cast<ConstantInt>(Operands[1]);
+ if (!Vec || !Idx)
+ return nullptr;
+
+ unsigned NumElements = FVTy->getNumElements();
+ unsigned VecNumElements =
+ cast<FixedVectorType>(Vec->getType())->getNumElements();
----------------
lukel97 wrote:
You can extract a fixed vector from a scalable vector, do you need to check Vec is fixed too here?
https://github.com/llvm/llvm-project/pull/141301
More information about the llvm-commits
mailing list