|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/SelectionDAG/TargetLowering.cpp 6979 EVT BoolVT = getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
6979 EVT BoolVT = getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), VT);
6986 return DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
6989 DAG.getNode(ISD::SMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS);
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);
6998 SDValue ProdNeg = DAG.getSetCC(dl, BoolVT, Product, Zero, ISD::SETLT);
6999 Result = DAG.getSelect(dl, VT, ProdNeg, SatMax, SatMin);
7000 return DAG.getSelect(dl, VT, Overflow, Result, Product);
7003 DAG.getNode(ISD::UMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS);
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);
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);
7028 Lo = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
7029 Hi = DAG.getNode(HiOp, dl, VT, LHS, RHS);
7045 EVT ShiftTy = getShiftAmountTy(VT, DAG.getDataLayout());
7046 SDValue Result = DAG.getNode(ISD::FSHR, dl, VT, Hi, Lo,
7047 DAG.getConstant(Scale, dl, ShiftTy));
7058 SDValue LowMask = DAG.getConstant(APInt::getLowBitsSet(VTSize, Scale),
7060 Result = DAG.getSelectCC(dl, Hi, LowMask,
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,
7075 DAG.getConstant(VTSize - 1, dl, ShiftTy));
7076 SDValue Overflow = DAG.getSetCC(dl, BoolVT, Hi, Sign, ISD::SETNE);
7079 SDValue Zero = DAG.getConstant(0, dl, VT);
7080 SDValue ResultIfOverflow = DAG.getSelectCC(dl, Hi, Zero, SatMin, SatMax,
7083 return DAG.getSelect(dl, VT, Overflow, ResultIfOverflow, Result);
7090 SDValue LowMask = DAG.getConstant(APInt::getLowBitsSet(VTSize, Scale - 1),
7092 Result = DAG.getSelectCC(dl, Hi, LowMask, SatMax, Result, ISD::SETGT);
7096 DAG.getConstant(APInt::getHighBitsSet(VTSize, VTSize - Scale + 1),
7098 Result = DAG.getSelectCC(dl, Hi, HighMask, SatMin, Result, ISD::SETLT);