[llvm] [AArch64][SelectionDAG] Fold SVE interleaves of splat vectors (PR #219146)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 13 10:26:03 PDT 2026


================
@@ -8039,6 +8039,22 @@ SDValue DAGTypeLegalizer::WidenVecOp_CONCAT_VECTORS(SDNode *N) {
       return GetWidenedVector(N->getOperand(0));
   }
 
+  if (VT.isScalableVector()) {
+    SDValue Result = DAG.getPOISON(VT);
+    unsigned NumInElts = InVT.getVectorMinNumElements();
+    for (unsigned i = 0; i < NumOperands; ++i) {
+      SDValue InOp = N->getOperand(i);
+      assert(getTypeAction(InOp.getValueType()) ==
+                 TargetLowering::TypeWidenVector &&
+             "Unexpected type action");
----------------
arsenm wrote:

This assert is redundant, GetWidenedVector should similarly assert 

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


More information about the llvm-commits mailing list