[llvm] [IA]: Construct (de)interleave4 out of (de)interleave2 (PR #89276)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 29 15:43:10 PDT 2024


================
@@ -16409,9 +16410,19 @@ bool AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(
     Result = Builder.CreateInsertValue(Result, Left, 0);
     Result = Builder.CreateInsertValue(Result, Right, 1);
   } else {
-    if (UseScalable)
+    if (UseScalable) {
       Result = Builder.CreateCall(LdNFunc, {Pred, BaseAddr}, "ldN");
-    else
+      if (Factor == 2) {
+        DI->replaceAllUsesWith(Result);
+        return true;
+      }
+      for (unsigned I = 0; I < LeafNodes.size(); I++) {
+        llvm::Value *CurrentExtract = LeafNodes[I];
+        Value *Newextrct = Builder.CreateExtractValue(Result, I);
----------------
topperc wrote:

Newextrct -> NewExtract.

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


More information about the llvm-commits mailing list