[llvm] [IA] Support deinterleave intrinsics w/ fewer than N extracts (PR #147572)
Min-Yih Hsu via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 9 10:03:19 PDT 2025
================
@@ -17456,14 +17456,16 @@ bool AArch64TargetLowering::lowerInterleavedStore(StoreInst *SI,
}
bool AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(
- LoadInst *LI, ArrayRef<Value *> DeinterleavedValues) const {
- unsigned Factor = DeinterleavedValues.size();
+ LoadInst *LI, ArrayRef<Value *> DeinterleavedValues,
+ unsigned Factor) const {
----------------
mshockwave wrote:
I might be missing something, but why couldn't we obtain Factor from the size of DeinterleavedValues? In InterleavedAccessPass we reserved a SmallVector with size of Factor and initialize it with nullptr, so if we have fewer than Factor number of extracts, we still have a SmallVector size of Factor but with some elements being nullptr
https://github.com/llvm/llvm-project/pull/147572
More information about the llvm-commits
mailing list