Lines Matching refs:HiLoVT
7402 EVT HiLoVT, SelectionDAG &DAG, in expandMUL_LOHI() argument
7409 isOperationLegalOrCustom(ISD::MULHS, HiLoVT); in expandMUL_LOHI()
7411 isOperationLegalOrCustom(ISD::MULHU, HiLoVT); in expandMUL_LOHI()
7413 isOperationLegalOrCustom(ISD::SMUL_LOHI, HiLoVT); in expandMUL_LOHI()
7415 isOperationLegalOrCustom(ISD::UMUL_LOHI, HiLoVT); in expandMUL_LOHI()
7421 unsigned InnerBitSize = HiLoVT.getScalarSizeInBits(); in expandMUL_LOHI()
7427 SDVTList VTs = DAG.getVTList(HiLoVT, HiLoVT); in expandMUL_LOHI()
7436 Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, L, R); in expandMUL_LOHI()
7437 Hi = DAG.getNode(Signed ? ISD::MULHS : ISD::MULHU, dl, HiLoVT, L, R); in expandMUL_LOHI()
7446 isOperationLegalOrCustom(ISD::TRUNCATE, HiLoVT)) { in expandMUL_LOHI()
7447 LL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LHS); in expandMUL_LOHI()
7448 RL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RHS); in expandMUL_LOHI()
7462 SDValue Zero = DAG.getConstant(0, dl, HiLoVT); in expandMUL_LOHI()
7487 isOperationLegalOrCustom(ISD::TRUNCATE, HiLoVT)) { in expandMUL_LOHI()
7489 LH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LH); in expandMUL_LOHI()
7491 RH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RH); in expandMUL_LOHI()
7503 RH = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RH); in expandMUL_LOHI()
7504 LH = DAG.getNode(ISD::MUL, dl, HiLoVT, LH, RL); in expandMUL_LOHI()
7505 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, RH); in expandMUL_LOHI()
7506 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, LH); in expandMUL_LOHI()
7530 SDValue Zero = DAG.getConstant(0, dl, HiLoVT); in expandMUL_LOHI()
7543 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7550 Hi = DAG.getNode(ISD::ADDE, dl, DAG.getVTList(HiLoVT, MVT::Glue), Hi, Zero, in expandMUL_LOHI()
7553 Hi = DAG.getNode(ISD::UADDO_CARRY, dl, DAG.getVTList(HiLoVT, BoolType), Hi, in expandMUL_LOHI()
7568 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7570 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7574 bool TargetLowering::expandMUL(SDNode *N, SDValue &Lo, SDValue &Hi, EVT HiLoVT, in expandMUL() argument
7580 N->getOperand(0), N->getOperand(1), Result, HiLoVT, in expandMUL()
7613 EVT HiLoVT, SelectionDAG &DAG, in expandDIVREMByConstant() argument
7633 HiLoVT.getScalarSizeInBits() == HBitWidth && "Unexpected VTs"); in expandDIVREMByConstant()
7642 if (!isOperationLegalOrCustom(ISD::MULHU, HiLoVT) && in expandDIVREMByConstant()
7643 !isOperationLegalOrCustom(ISD::UMUL_LOHI, HiLoVT)) in expandDIVREMByConstant()
7672 std::tie(LL, LH) = DAG.SplitScalar(N->getOperand(0), dl, HiLoVT, HiLoVT); in expandDIVREMByConstant()
7680 PartialRem = DAG.getNode(ISD::AND, dl, HiLoVT, LL, in expandDIVREMByConstant()
7681 DAG.getConstant(Mask, dl, HiLoVT)); in expandDIVREMByConstant()
7685 ISD::OR, dl, HiLoVT, in expandDIVREMByConstant()
7686 DAG.getNode(ISD::SRL, dl, HiLoVT, LL, in expandDIVREMByConstant()
7687 DAG.getShiftAmountConstant(TrailingZeros, HiLoVT, dl)), in expandDIVREMByConstant()
7688 DAG.getNode(ISD::SHL, dl, HiLoVT, LH, in expandDIVREMByConstant()
7690 HiLoVT, dl))); in expandDIVREMByConstant()
7691 LH = DAG.getNode(ISD::SRL, dl, HiLoVT, LH, in expandDIVREMByConstant()
7692 DAG.getShiftAmountConstant(TrailingZeros, HiLoVT, dl)); in expandDIVREMByConstant()
7697 getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), HiLoVT); in expandDIVREMByConstant()
7698 if (isOperationLegalOrCustom(ISD::UADDO_CARRY, HiLoVT)) { in expandDIVREMByConstant()
7699 SDVTList VTList = DAG.getVTList(HiLoVT, SetCCType); in expandDIVREMByConstant()
7702 DAG.getConstant(0, dl, HiLoVT), Sum.getValue(1)); in expandDIVREMByConstant()
7704 Sum = DAG.getNode(ISD::ADD, dl, HiLoVT, LL, LH); in expandDIVREMByConstant()
7708 if (getBooleanContents(HiLoVT) == in expandDIVREMByConstant()
7710 Carry = DAG.getZExtOrTrunc(Carry, dl, HiLoVT); in expandDIVREMByConstant()
7712 Carry = DAG.getSelect(dl, HiLoVT, Carry, DAG.getConstant(1, dl, HiLoVT), in expandDIVREMByConstant()
7713 DAG.getConstant(0, dl, HiLoVT)); in expandDIVREMByConstant()
7714 Sum = DAG.getNode(ISD::ADD, dl, HiLoVT, Sum, Carry); in expandDIVREMByConstant()
7724 DAG.getNode(ISD::UREM, dl, HiLoVT, Sum, in expandDIVREMByConstant()
7725 DAG.getConstant(Divisor.trunc(HBitWidth), dl, HiLoVT)); in expandDIVREMByConstant()
7726 SDValue RemH = DAG.getConstant(0, dl, HiLoVT); in expandDIVREMByConstant()
7747 std::tie(QuotL, QuotH) = DAG.SplitScalar(Quotient, dl, HiLoVT, HiLoVT); in expandDIVREMByConstant()
7757 RemL = DAG.getNode(ISD::SHL, dl, HiLoVT, RemL, in expandDIVREMByConstant()
7758 DAG.getShiftAmountConstant(TrailingZeros, HiLoVT, dl)); in expandDIVREMByConstant()
7759 RemL = DAG.getNode(ISD::ADD, dl, HiLoVT, RemL, PartialRem); in expandDIVREMByConstant()
7762 Result.push_back(DAG.getConstant(0, dl, HiLoVT)); in expandDIVREMByConstant()