@@ -6078,12 +6078,9 @@ static SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
6078
6078
SDValue SubVec = DAG.getNode(GatherVVOpc, DL, M1VT, SubV1, SubIndex,
6079
6079
DAG.getUNDEF(M1VT), InnerTrueMask, InnerVL);
6080
6080
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);
6087
6084
return convertFromScalableVector(VT, Gather, DAG, Subtarget);
6088
6085
}
6089
6086
@@ -6107,10 +6104,8 @@ static SDValue lowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG,
6107
6104
SDValue SubVec =
6108
6105
DAG.getNode(GatherVVOpc, DL, M1VT, SubV1, SubIndex,
6109
6106
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);
6114
6109
}
6115
6110
return convertFromScalableVector(VT, Gather, DAG, Subtarget);
6116
6111
}
0 commit comments