[llvm] [CodeGen] Expand unsupported (de)interleave intrinsics (PR #207439)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 15 06:59:19 PDT 2026


================
@@ -232,6 +232,11 @@ class AArch64TargetLowering : public TargetLowering {
 
   unsigned getMaxSupportedInterleaveFactor() const override { return 4; }
 
+  bool isInterleaveIntrinsicSupported(unsigned Factor, EVT VT) const override {
+    return VT.isScalableVector() || Factor == 3 ||
+           (Factor > 2 && Factor % 2 == 0);
----------------
lukel97 wrote:

I'm skeptical that we would add more deinterleave intrinsics in future. I'm not aware of any hardware that has support for factors > 8. I'd imagine we would just represent it as a deinterleave5 followed by a deinterleave2.

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


More information about the llvm-commits mailing list