@@ -18372,31 +18372,6 @@ static SDValue performBUILD_VECTORCombine(SDNode *N, SelectionDAG &DAG,
1837218372 DAG.getBuildVector(VT, DL, RHSOps));
1837318373}
1837418374
18375- static SDValue lowerVQDOT(unsigned Opc, SDValue Op0, SDValue Op1,
18376- const SDLoc &DL, SelectionDAG &DAG,
18377- const RISCVSubtarget &Subtarget) {
18378- assert(RISCVISD::VQDOT_VL == Opc || RISCVISD::VQDOTU_VL == Opc ||
18379- RISCVISD::VQDOTSU_VL == Opc);
18380- MVT VT = Op0.getSimpleValueType();
18381- assert(VT == Op1.getSimpleValueType() &&
18382- VT.getVectorElementType() == MVT::i32);
18383-
18384- SDValue Passthru = DAG.getConstant(0, DL, VT);
18385- MVT ContainerVT = VT;
18386- if (VT.isFixedLengthVector()) {
18387- ContainerVT = getContainerForFixedLengthVector(DAG, VT, Subtarget);
18388- Passthru = convertToScalableVector(ContainerVT, Passthru, DAG, Subtarget);
18389- Op0 = convertToScalableVector(ContainerVT, Op0, DAG, Subtarget);
18390- Op1 = convertToScalableVector(ContainerVT, Op1, DAG, Subtarget);
18391- }
18392- auto [Mask, VL] = getDefaultVLOps(VT, ContainerVT, DL, DAG, Subtarget);
18393- SDValue LocalAccum = DAG.getNode(Opc, DL, ContainerVT,
18394- {Op0, Op1, Passthru, Mask, VL});
18395- if (VT.isFixedLengthVector())
18396- return convertFromScalableVector(VT, LocalAccum, DAG, Subtarget);
18397- return LocalAccum;
18398- }
18399-
1840018375static MVT getQDOTXResultType(MVT OpVT) {
1840118376 ElementCount OpEC = OpVT.getVectorElementCount();
1840218377 assert(OpEC.isKnownMultipleOf(4) && OpVT.getVectorElementType() == MVT::i8);
0 commit comments