[llvm] [LV]: Teach LV to recursively (de)interleave.  (PR #89018)
    Hassnaa Hamdi via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Fri Oct 11 08:05:32 PDT 2024
    
    
  
================
@@ -2126,10 +2127,39 @@ static Value *interleaveVectors(IRBuilderBase &Builder, ArrayRef<Value *> Vals,
   // Scalable vectors cannot use arbitrary shufflevectors (only splats), so
   // must use intrinsics to interleave.
   if (VecTy->isScalableTy()) {
-    VectorType *WideVecTy = VectorType::getDoubleElementsVectorType(VecTy);
-    return Builder.CreateIntrinsic(WideVecTy, Intrinsic::vector_interleave2,
-                                   Vals,
-                                   /*FMFSource=*/nullptr, Name);
+    unsigned InterleaveFactor = Vals.size();
----------------
hassnaaHamdi wrote:
Done
https://github.com/llvm/llvm-project/pull/89018
    
    
More information about the llvm-commits
mailing list