[llvm] [CodeGen] Expand unsupported interleave to shuffles (PR #210494)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 28 04:26:07 PDT 2026
================
@@ -438,6 +438,9 @@ class RISCVTargetLowering : public TargetLowering {
bool isLegalFirstFaultLoad(EVT DataType, Align Alignment) const;
unsigned getMaxSupportedInterleaveFactor() const override { return 8; }
+ bool isInterleaveIntrinsicSupported(unsigned Factor, EVT VT) const override {
+ return VT.isScalableVector() || (Factor > 2 && Factor <= 8);
----------------
lukel97 wrote:
Why do we specifically check for scalable vectors? RISCV vector_interleave/deinterleave lowering can only handle up to factor 8, I would have thought that
```suggestion
return Factor > 2 && Factor <= 8;
```
would be the same
https://github.com/llvm/llvm-project/pull/210494
More information about the llvm-commits
mailing list