reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
6979 EVT BoolVT = getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT); 6980 unsigned VTSize = VT.getScalarSizeInBits(); 6985 if (isOperationLegalOrCustom(ISD::MUL, VT)) 6986 return DAG.getNode(ISD::MUL, dl, VT, LHS, RHS); 6987 } else if (Signed && isOperationLegalOrCustom(ISD::SMULO, VT)) { 6989 DAG.getNode(ISD::SMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS); 6992 SDValue Zero = DAG.getConstant(0, dl, VT); 6996 SDValue SatMin = DAG.getConstant(MinVal, dl, VT); 6997 SDValue SatMax = DAG.getConstant(MaxVal, dl, VT); 6999 Result = DAG.getSelect(dl, VT, ProdNeg, SatMax, SatMin); 7000 return DAG.getSelect(dl, VT, Overflow, Result, Product); 7001 } else if (!Signed && isOperationLegalOrCustom(ISD::UMULO, VT)) { 7003 DAG.getNode(ISD::UMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS); 7008 SDValue SatMax = DAG.getConstant(MaxVal, dl, VT); 7009 return DAG.getSelect(dl, VT, Overflow, SatMax, Product); 7023 if (isOperationLegalOrCustom(LoHiOp, VT)) { 7024 SDValue Result = DAG.getNode(LoHiOp, dl, DAG.getVTList(VT, VT), LHS, RHS); 7024 SDValue Result = DAG.getNode(LoHiOp, dl, DAG.getVTList(VT, VT), LHS, RHS); 7027 } else if (isOperationLegalOrCustom(HiOp, VT)) { 7028 Lo = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS); 7029 Hi = DAG.getNode(HiOp, dl, VT, LHS, RHS); 7030 } else if (VT.isVector()) { 7045 EVT ShiftTy = getShiftAmountTy(VT, DAG.getDataLayout()); 7046 SDValue Result = DAG.getNode(ISD::FSHR, dl, VT, Hi, Lo, 7059 dl, VT); 7061 DAG.getConstant(MaxVal, dl, VT), Result, 7070 SDValue SatMin = DAG.getConstant(APInt::getSignedMinValue(VTSize), dl, VT); 7071 SDValue SatMax = DAG.getConstant(APInt::getSignedMaxValue(VTSize), dl, VT); 7074 SDValue Sign = DAG.getNode(ISD::SRA, dl, VT, Lo, 7079 SDValue Zero = DAG.getConstant(0, dl, VT); 7083 return DAG.getSelect(dl, VT, Overflow, ResultIfOverflow, Result); 7091 dl, VT); 7097 dl, VT);