|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/CodeGen/SelectionDAG/TargetLowering.cpp 5904 SDValue ExponentMask = DAG.getConstant(0x7F800000, dl, IntVT);
5905 SDValue ExponentLoBit = DAG.getConstant(23, dl, IntVT);
5906 SDValue Bias = DAG.getConstant(127, dl, IntVT);
5907 SDValue SignMask = DAG.getConstant(APInt::getSignMask(SrcEltBits), dl, IntVT);
5908 SDValue SignLowBit = DAG.getConstant(SrcEltBits - 1, dl, IntVT);
5909 SDValue MantissaMask = DAG.getConstant(0x007FFFFF, dl, IntVT);
5911 SDValue Bits = DAG.getNode(ISD::BITCAST, dl, IntVT, Src);
5914 ISD::SRL, dl, IntVT, DAG.getNode(ISD::AND, dl, IntVT, Bits, ExponentMask),
5914 ISD::SRL, dl, IntVT, DAG.getNode(ISD::AND, dl, IntVT, Bits, ExponentMask),
5915 DAG.getZExtOrTrunc(ExponentLoBit, dl, IntShVT));
5916 SDValue Exponent = DAG.getNode(ISD::SUB, dl, IntVT, ExponentBits, Bias);
5918 SDValue Sign = DAG.getNode(ISD::SRA, dl, IntVT,
5919 DAG.getNode(ISD::AND, dl, IntVT, Bits, SignMask),
5920 DAG.getZExtOrTrunc(SignLowBit, dl, IntShVT));
5921 Sign = DAG.getSExtOrTrunc(Sign, dl, DstVT);
5923 SDValue R = DAG.getNode(ISD::OR, dl, IntVT,
5924 DAG.getNode(ISD::AND, dl, IntVT, Bits, MantissaMask),
5925 DAG.getConstant(0x00800000, dl, IntVT));
5927 R = DAG.getZExtOrTrunc(R, dl, DstVT);
5930 dl, Exponent, ExponentLoBit,
5931 DAG.getNode(ISD::SHL, dl, DstVT, R,
5933 DAG.getNode(ISD::SUB, dl, IntVT, Exponent, ExponentLoBit),
5934 dl, IntShVT)),
5935 DAG.getNode(ISD::SRL, dl, DstVT, R,
5937 DAG.getNode(ISD::SUB, dl, IntVT, ExponentLoBit, Exponent),
5938 dl, IntShVT)),
5941 SDValue Ret = DAG.getNode(ISD::SUB, dl, DstVT,
5942 DAG.getNode(ISD::XOR, dl, DstVT, R, Sign), Sign);
5944 Result = DAG.getSelectCC(dl, Exponent, DAG.getConstant(0, dl, IntVT),
5944 Result = DAG.getSelectCC(dl, Exponent, DAG.getConstant(0, dl, IntVT),
5945 DAG.getConstant(0, dl, DstVT), Ret, ISD::SETLT);