Lines Matching defs:WideVT
6450 EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), Size * 2);
6452 WideVT = EVT::getVectorVT(*DAG.getContext(), WideVT,
6459 isOperationLegalOrCustom(ISD::MUL, WideVT)) {
6460 X = DAG.getNode(ISD::SIGN_EXTEND, dl, WideVT, X);
6461 Y = DAG.getNode(ISD::SIGN_EXTEND, dl, WideVT, Y);
6462 Y = DAG.getNode(ISD::MUL, dl, WideVT, X, Y);
6463 Y = DAG.getNode(ISD::SRL, dl, WideVT, Y,
6464 DAG.getShiftAmountConstant(EltBits, WideVT, dl));
6639 EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), Size * 2);
6641 WideVT = EVT::getVectorVT(*DAG.getContext(), WideVT,
6648 isOperationLegalOrCustom(ISD::MUL, WideVT)) {
6649 X = DAG.getNode(ISD::ZERO_EXTEND, dl, WideVT, X);
6650 Y = DAG.getNode(ISD::ZERO_EXTEND, dl, WideVT, Y);
6651 Y = DAG.getNode(ISD::MUL, dl, WideVT, X, Y);
6652 Y = DAG.getNode(ISD::SRL, dl, WideVT, Y,
6653 DAG.getShiftAmountConstant(EltBits, WideVT, dl));
10924 EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VT.getSizeInBits() * 2);
10928 if (WideVT == MVT::i16)
10930 else if (WideVT == MVT::i32)
10932 else if (WideVT == MVT::i64)
10934 else if (WideVT == MVT::i128)
10961 // Halves of WideVT are packed into registers in different order
10966 Ret = makeLibCall(DAG, LC, WideVT, Args, CallOptions, dl).first;
10969 Ret = makeLibCall(DAG, LC, WideVT, Args, CallOptions, dl).first;
11047 EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VTSize * 2);
11049 WideVT =
11050 EVT::getVectorVT(*DAG.getContext(), WideVT, VT.getVectorElementCount());
11058 } else if (isOperationLegalOrCustom(ISD::MUL, WideVT)) {
11061 SDValue LHSExt = DAG.getNode(Ext, dl, WideVT, LHS);
11062 SDValue RHSExt = DAG.getNode(Ext, dl, WideVT, RHS);
11063 SDValue Res = DAG.getNode(ISD::MUL, dl, WideVT, LHSExt, RHSExt);
11066 DAG.getNode(ISD::SRA, dl, WideVT, Res,
11067 DAG.getShiftAmountConstant(VTSize, WideVT, dl));
11338 EVT WideVT = EVT::getIntegerVT(*DAG.getContext(), VT.getScalarSizeInBits() * 2);
11340 WideVT =
11341 EVT::getVectorVT(*DAG.getContext(), WideVT, VT.getVectorElementCount());
11355 } else if (isTypeLegal(WideVT)) {
11356 LHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, LHS);
11357 RHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, RHS);
11358 SDValue Mul = DAG.getNode(ISD::MUL, dl, WideVT, LHS, RHS);
11361 DAG.getShiftAmountConstant(VT.getScalarSizeInBits(), WideVT, dl);
11363 DAG.getNode(ISD::SRL, dl, WideVT, Mul, ShiftAmt));