[PATCH] D145485: [PoC][IR] Generalize interleave/deinterleave intrinsics to factors > 2
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 5 09:22:52 PDT 2023
luke abandoned this revision.
luke added a comment.
Marking this as abandoned since I'm not actively working on this anymore, but it would be still good to see this someday
A potential design for the intrinsics could be something like:
llvm
def int_experimental_vector_interleave2 : DefaultAttrsIntrinsic<[LLVMNTimesElts<0, 2>],
[llvm_anyvector_ty,
LLVMMatchType<0>],
[IntrNoMem]>;
def int_experimental_vector_interleave3 : DefaultAttrsIntrinsic<[LLVMNTimesElts<0, 3>],
[llvm_anyvector_ty,
LLVMMatchType<0>,
LLVMMatchType<0>],
[IntrNoMem]>;
def int_experimental_vector_deinterleave2 : DefaultAttrsIntrinsic<[llvm_anyvector_ty<0>,
LLVMMatchType<0>],
[LLVMNTimesElts<0, 2>],
[IntrNoMem]>;
def int_experimental_vector_deinterleave3 : DefaultAttrsIntrinsic<[llvm_anyvector_ty,
LLVMMatchType<0>,
LLVMMatchType<0>],
[LLVMNTimesElts<0, 3>],
[IntrNoMem]>;
Where `LLVMNTimesElts<I, N>` is a descriptor for vectors that have N times as many elements as the I'th argument
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145485/new/
https://reviews.llvm.org/D145485
More information about the llvm-commits
mailing list