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