|
reference, declaration → definition
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);