@@ -6078,12 +6078,9 @@ static SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
60786078 SDValue SubVec = DAG.getNode(GatherVVOpc, DL, M1VT, SubV1, SubIndex,
60796079 DAG.getUNDEF(M1VT), InnerTrueMask, InnerVL);
60806080 SDValue Gather = DAG.getUNDEF(ContainerVT);
6081- for (int i = 0; i < N; i++) {
6082- SDValue SubIdx =
6083- DAG.getVectorIdxConstant(M1VT.getVectorMinNumElements() * i, DL);
6084- Gather = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, ContainerVT, Gather,
6085- SubVec, SubIdx);
6086- }
6081+ for (int i = 0; i < N; i++)
6082+ Gather = DAG.getInsertSubvector(DL, Gather, SubVec,
6083+ M1VT.getVectorMinNumElements() * i);
60876084 return convertFromScalableVector(VT, Gather, DAG, Subtarget);
60886085 }
60896086
@@ -6107,10 +6104,8 @@ static SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
61076104 SDValue SubVec =
61086105 DAG.getNode(GatherVVOpc, DL, M1VT, SubV1, SubIndex,
61096106 DAG.getUNDEF(M1VT), InnerTrueMask, InnerVL);
6110- SDValue SubIdx =
6111- DAG.getVectorIdxConstant(M1VT.getVectorMinNumElements() * i, DL);
6112- Gather = DAG.getNode(ISD::INSERT_SUBVECTOR, DL, ContainerVT, Gather,
6113- SubVec, SubIdx);
6107+ Gather = DAG.getInsertSubvector(DL, Gather, SubVec,
6108+ M1VT.getVectorMinNumElements() * i);
61146109 }
61156110 return convertFromScalableVector(VT, Gather, DAG, Subtarget);
61166111 }
0 commit comments