[llvm] [AArch64][SVE] Allow factors other than 2/4 for load+deinterleave3+store patterns for codegen (PR #162475)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 16 06:53:23 PDT 2025


================
@@ -18144,7 +18144,7 @@ bool AArch64TargetLowering::lowerInterleavedStore(Instruction *Store,
 bool AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(
     Instruction *Load, Value *Mask, IntrinsicInst *DI) const {
   const unsigned Factor = getDeinterleaveIntrinsicFactor(DI->getIntrinsicID());
-  if (Factor != 2 && Factor != 4) {
+  if (Factor != 2 && Factor != 3 && Factor != 4) {
     LLVM_DEBUG(dbgs() << "Matching ld2 and ld4 patterns failed\n");
----------------
paulwalker-arm wrote:

```suggestion
    LLVM_DEBUG(dbgs() << "Matching ld2, ld3 and ld4 patterns failed\n");
```

https://github.com/llvm/llvm-project/pull/162475


More information about the llvm-commits mailing list