[llvm] [IR][RISCV] Add llvm.vector.(de)interleave3/5/7 (PR #124825)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 4 15:05:24 PST 2025
================
@@ -931,6 +955,16 @@ matchIntrinsicType(Type *Ty, ArrayRef<Intrinsic::IITDescriptor> &Infos,
return !isa<VectorType>(ArgTys[D.getArgumentNumber()]) ||
VectorType::getHalfElementsVectorType(
cast<VectorType>(ArgTys[D.getArgumentNumber()])) != Ty;
+ case IITDescriptor::OneThirdVecArgument:
+ case IITDescriptor::OneFifthVecArgument:
+ case IITDescriptor::OneSeventhVecArgument:
+ // If this is a forward reference, defer the check for later.
+ if (D.getArgumentNumber() >= ArgTys.size())
+ return IsDeferredCheck || DeferCheck(Ty);
+ return !isa<VectorType>(ArgTys[D.getArgumentNumber()]) ||
+ VectorType::getOneNthElementsVectorType(
+ cast<VectorType>(ArgTys[D.getArgumentNumber()]),
+ 3 + (D.Kind - IITDescriptor::OneThirdVecArgument) * 2) != Ty;
----------------
topperc wrote:
Same
https://github.com/llvm/llvm-project/pull/124825
More information about the llvm-commits
mailing list