Lines Matching defs:Dot
17776 // Handle the case where we need to generate only one Dot operation.
17779 SDValue Dot = DAG.getNode(DotOpcode, DL, Zeros.getValueType(), Zeros,
17781 return DAG.getNode(ISD::VECREDUCE_ADD, DL, N->getValueType(0), Dot);
17783 // Generate Dot instructions that are multiple of 16.
17794 SDValue Dot =
17796 SDotVec16.push_back(Dot);
17809 // Generate the remainder Dot operation that is multiple of 8.
17817 SDValue Dot =
17820 DAG.getNode(ISD::VECREDUCE_ADD, DL, N->getValueType(0), Dot);
19964 SDValue Dot = N->getOperand(0);
19967 auto isZeroDot = [](SDValue Dot) {
19968 return (Dot.getOpcode() == AArch64ISD::UDOT ||
19969 Dot.getOpcode() == AArch64ISD::SDOT) &&
19970 isZerosVector(Dot.getOperand(0).getNode());
19972 if (!isZeroDot(Dot))
19973 std::swap(Dot, A);
19974 if (!isZeroDot(Dot))
19977 return DAG.getNode(Dot.getOpcode(), SDLoc(N), VT, A, Dot.getOperand(1),
19978 Dot.getOperand(2));