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

References

lib/Target/AMDGPU/AMDGPUISelLowering.cpp
 2194   SDValue L = DAG.getNode(ISD::BITCAST, SL, MVT::i64, X);
 2196   const SDValue Zero = DAG.getConstant(0, SL, MVT::i32);
 2197   const SDValue One = DAG.getConstant(1, SL, MVT::i32);
 2198   const SDValue NegOne = DAG.getConstant(-1, SL, MVT::i32);
 2199   const SDValue FiftyOne = DAG.getConstant(51, SL, MVT::i32);
 2203   SDValue BC = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, X);
 2205   SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC, One);
 2207   SDValue Exp = extractF64Exponent(Hi, SL, DAG);
 2209   const SDValue Mask = DAG.getConstant(INT64_C(0x000fffffffffffff), SL,
 2212   SDValue M = DAG.getNode(ISD::SRA, SL, MVT::i64, Mask, Exp);
 2213   SDValue D = DAG.getNode(ISD::SRA, SL, MVT::i64,
 2214                           DAG.getConstant(INT64_C(0x0008000000000000), SL,
 2218   SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, L, M);
 2219   SDValue Tmp1 = DAG.getSetCC(SL, SetCCVT,
 2220                               DAG.getConstant(0, SL, MVT::i64), Tmp0,
 2223   SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, Tmp1,
 2224                              D, DAG.getConstant(0, SL, MVT::i64));
 2225   SDValue K = DAG.getNode(ISD::ADD, SL, MVT::i64, L, Tmp2);
 2227   K = DAG.getNode(ISD::AND, SL, MVT::i64, K, DAG.getNOT(SL, M, MVT::i64));
 2227   K = DAG.getNode(ISD::AND, SL, MVT::i64, K, DAG.getNOT(SL, M, MVT::i64));
 2228   K = DAG.getNode(ISD::BITCAST, SL, MVT::f64, K);
 2230   SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT);
 2231   SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT);
 2232   SDValue ExpEqNegOne = DAG.getSetCC(SL, SetCCVT, NegOne, Exp, ISD::SETEQ);
 2234   SDValue Mag = DAG.getNode(ISD::SELECT, SL, MVT::f64,
 2236                             DAG.getConstantFP(1.0, SL, MVT::f64),
 2237                             DAG.getConstantFP(0.0, SL, MVT::f64));
 2239   SDValue S = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, Mag, X);
 2241   K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpLt0, S, K);
 2242   K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpGt51, X, K);