[llvm] Use (de)interleaving intrinsics for fixed-length vectors (PR #202583)
Matthew Devereau via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 11 08:01:54 PDT 2026
================
@@ -5192,6 +5192,17 @@ unsigned AArch64TTIImpl::getMaxInterleaveFactor(ElementCount VF) const {
return ST->getMaxInterleaveFactor();
}
+bool AArch64TTIImpl::supportsVectorInterleaveDeinterleaveIntrinsics(
+ unsigned Factor, VectorType *VecTy) const {
+ if (VecTy->isScalableTy()) {
+ assert(Factor <= 8 && "Scalable vector interleave/deinterleave intrinsics "
+ "only support factors up to 8");
+ return Factor <= 8;
----------------
MDevereau wrote:
We don't have lowering for scalable factors 5 and 7 on AArch64: https://gcc.godbolt.org/z/Wx7K17E8a
```suggestion
(Factor <= 4 || Factor == 6 || Factor == 8)
```
https://github.com/llvm/llvm-project/pull/202583
More information about the llvm-commits
mailing list