reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 2887       Result = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
 2891       Result = DAG.getNode(MulOp, dl, DAG.getVTList(VT, BoolVT), LHS, RHS);
 2897         SDValue SatMin = DAG.getConstant(MinVal, dl, VT);
 2898         SDValue SatMax = DAG.getConstant(MaxVal, dl, VT);
 2899         SDValue Zero = DAG.getConstant(0, dl, VT);
 2900         SDValue ProdNeg = DAG.getSetCC(dl, BoolVT, Product, Zero, ISD::SETLT);
 2901         Result = DAG.getSelect(dl, VT, ProdNeg, SatMax, SatMin);
 2902         Result = DAG.getSelect(dl, VT, Overflow, Result, Product);
 2907         SDValue SatMax = DAG.getConstant(MaxVal, dl, VT);
 2908         Result = DAG.getSelect(dl, VT, Overflow, SatMax, Product);
 2926   if (!TLI.expandMUL_LOHI(LoHiOp, VT, dl, LHS, RHS, Result, NVT, DAG,
 2959     SDValue ShiftAmount = DAG.getConstant(Scale % NVTSize, dl, ShiftTy);
 2960     Lo = DAG.getNode(ISD::FSHR, dl, NVT, Result[Part0 + 1], Result[Part0],
 2962     Hi = DAG.getNode(ISD::FSHR, dl, NVT, Result[Part0 + 2], Result[Part0 + 1],
 2993   SDValue NVTZero = DAG.getConstant(0, dl, NVT);
 2994   SDValue NVTNeg1 = DAG.getConstant(-1, dl, NVT);
 3000       SDValue HLAdjusted = DAG.getNode(ISD::SRL, dl, NVT, ResultHL,
 3001                                        DAG.getConstant(Scale, dl, ShiftTy));
 3002       SDValue Tmp = DAG.getNode(ISD::OR, dl, NVT, HLAdjusted, ResultHH);
 3003       SatMax = DAG.getSetCC(dl, BoolNVT, Tmp, NVTZero, ISD::SETNE);
 3006       SatMax = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTZero, ISD::SETNE);
 3009       SDValue HLAdjusted = DAG.getNode(ISD::SRL, dl, NVT, ResultHL,
 3010                                        DAG.getConstant(Scale - NVTSize, dl,
 3012       SatMax = DAG.getSetCC(dl, BoolNVT, HLAdjusted, NVTZero, ISD::SETNE);
 3017     Hi = DAG.getSelect(dl, NVT, SatMax, NVTNeg1, Hi);
 3018     Lo = DAG.getSelect(dl, NVT, SatMax, NVTNeg1, Lo);
 3031         APInt::getHighBitsSet(NVTSize, OverflowBits - NVTSize), dl, NVT);
 3033         APInt::getLowBitsSet(NVTSize, VTSize - OverflowBits), dl, NVT);
 3035     SDValue HHGT0 = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTZero, ISD::SETGT);
 3036     SDValue HHEQ0 = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTZero, ISD::SETEQ);
 3037     SDValue HLUGT = DAG.getSetCC(dl, BoolNVT, ResultHL, HLLoMask, ISD::SETUGT);
 3038     SatMax = DAG.getNode(ISD::OR, dl, BoolNVT, HHGT0,
 3039                          DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ0, HLUGT));
 3041     SDValue HHLT = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTNeg1, ISD::SETLT);
 3042     SDValue HHEQ = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTNeg1, ISD::SETEQ);
 3043     SDValue HLULT = DAG.getSetCC(dl, BoolNVT, ResultHL, HLHiMask, ISD::SETULT);
 3044     SatMin = DAG.getNode(ISD::OR, dl, BoolNVT, HHLT,
 3045                          DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ, HLULT));
 3048     SDValue HHGT0 = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTZero, ISD::SETGT);
 3049     SDValue HHEQ0 = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTZero, ISD::SETEQ);
 3050     SDValue HLNeg = DAG.getSetCC(dl, BoolNVT, ResultHL, NVTZero, ISD::SETLT);
 3051     SatMax = DAG.getNode(ISD::OR, dl, BoolNVT, HHGT0,
 3052                          DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ0, HLNeg));
 3054     SDValue HHLT = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTNeg1, ISD::SETLT);
 3055     SDValue HHEQ = DAG.getSetCC(dl, BoolNVT, ResultHH, NVTNeg1, ISD::SETEQ);
 3056     SDValue HLPos = DAG.getSetCC(dl, BoolNVT, ResultHL, NVTZero, ISD::SETGE);
 3057     SatMin = DAG.getNode(ISD::OR, dl, BoolNVT, HHLT,
 3058                          DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ, HLPos));
 3064         APInt::getHighBitsSet(NVTSize, OverflowBits), dl, NVT);
 3066         APInt::getLowBitsSet(NVTSize, NVTSize - OverflowBits), dl, NVT);
 3067     SatMax = DAG.getSetCC(dl, BoolNVT, ResultHH, HHLoMask, ISD::SETGT);
 3068     SatMin = DAG.getSetCC(dl, BoolNVT, ResultHH, HHHiMask, ISD::SETLT);
 3075   Hi = DAG.getSelect(dl, NVT, SatMax, DAG.getConstant(MaxHi, dl, NVT), Hi);
 3075   Hi = DAG.getSelect(dl, NVT, SatMax, DAG.getConstant(MaxHi, dl, NVT), Hi);
 3076   Lo = DAG.getSelect(dl, NVT, SatMax, DAG.getConstant(MaxLo, dl, NVT), Lo);
 3076   Lo = DAG.getSelect(dl, NVT, SatMax, DAG.getConstant(MaxLo, dl, NVT), Lo);
 3079   Hi = DAG.getSelect(dl, NVT, SatMin, DAG.getConstant(MinHi, dl, NVT), Hi);
 3079   Hi = DAG.getSelect(dl, NVT, SatMin, DAG.getConstant(MinHi, dl, NVT), Hi);
 3080   Lo = DAG.getSelect(dl, NVT, SatMin, NVTZero, Lo);