Lines Matching refs:SL

697     const StructLayout *SL = TD->getStructLayout(ST);
703 SDValue Offset = DAG.getConstant(SL->getElementOffset(I), PtrVT);
1200 SDLoc SL(Op);
1205 SDValue Ptr = DAG.getNode(ISD::ADD, SL, PtrVT, Load->getBasePtr(),
1209 = DAG.getExtLoad(Load->getExtensionType(), SL, EltVT,
1219 DAG.getNode(ISD::BUILD_VECTOR, SL, LoadVT, Loads),
1220 DAG.getNode(ISD::TokenFactor, SL, MVT::Other, Chains)
1223 return DAG.getMergeValues(Ops, SL);
1239 SDLoc SL(Op);
1248 std::tie(Lo, Hi) = DAG.SplitVector(Op, SL, LoVT, HiVT);
1250 = DAG.getExtLoad(Load->getExtensionType(), SL, LoVT,
1256 SDValue HiPtr = DAG.getNode(ISD::ADD, SL, PtrVT, BasePtr,
1260 = DAG.getExtLoad(Load->getExtensionType(), SL, HiVT,
1267 DAG.getNode(ISD::CONCAT_VECTORS, SL, VT, LoLoad, HiLoad),
1268 DAG.getNode(ISD::TokenFactor, SL, MVT::Other,
1272 return DAG.getMergeValues(Ops, SL);
1340 SDLoc SL(Op);
1348 SDValue Val = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, EltVT,
1353 SDValue Ptr = DAG.getNode(ISD::ADD, SL, PtrVT, Store->getBasePtr(), Offset);
1355 DAG.getTruncStore(Store->getChain(), SL, Val, Ptr,
1362 return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, Chains);
1379 SDLoc SL(Op);
1387 std::tie(Lo, Hi) = DAG.SplitVector(Val, SL, LoVT, HiVT);
1390 SDValue HiPtr = DAG.getNode(ISD::ADD, SL, PtrVT, BasePtr,
1395 = DAG.getTruncStore(Chain, SL, Lo,
1403 = DAG.getTruncStore(Chain, SL, Hi,
1411 return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, LoStore, HiStore);
1896 SDLoc SL(Op);
1901 SDValue Div = DAG.getNode(ISD::FDIV, SL, VT, X, Y);
1902 SDValue Floor = DAG.getNode(ISD::FTRUNC, SL, VT, Div);
1903 SDValue Mul = DAG.getNode(ISD::FMUL, SL, VT, Floor, Y);
1905 return DAG.getNode(ISD::FSUB, SL, VT, X, Mul);
1909 SDLoc SL(Op);
1916 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src);
1923 SDValue Lt0 = DAG.getSetCC(SL, SetCCVT, Src, Zero, ISD::SETOGT);
1924 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE);
1925 SDValue And = DAG.getNode(ISD::AND, SL, SetCCVT, Lt0, NeTrunc);
1927 SDValue Add = DAG.getNode(ISD::SELECT, SL, MVT::f64, And, One, Zero);
1928 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add);
1931 static SDValue extractF64Exponent(SDValue Hi, SDLoc SL, SelectionDAG &DAG) {
1935 SDValue ExpPart = DAG.getNode(AMDGPUISD::BFE_U32, SL, MVT::i32,
1939 SDValue Exp = DAG.getNode(ISD::SUB, SL, MVT::i32, ExpPart,
1946 SDLoc SL(Op);
1954 SDValue VecSrc = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, Src);
1958 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, VecSrc, One);
1960 SDValue Exp = extractF64Exponent(Hi, SL, DAG);
1966 SDValue SignBit = DAG.getNode(ISD::AND, SL, MVT::i32, Hi, SignBitMask);
1969 SDValue SignBit64 = DAG.getNode(ISD::BUILD_VECTOR, SL, MVT::v2i32,
1971 SignBit64 = DAG.getNode(ISD::BITCAST, SL, MVT::i64, SignBit64);
1973 SDValue BcInt = DAG.getNode(ISD::BITCAST, SL, MVT::i64, Src);
1977 SDValue Shr = DAG.getNode(ISD::SRA, SL, MVT::i64, FractMask, Exp);
1978 SDValue Not = DAG.getNOT(SL, Shr, MVT::i64);
1979 SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, BcInt, Not);
1985 SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT);
1986 SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT);
1988 SDValue Tmp1 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpLt0, SignBit64, Tmp0);
1989 SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, ExpGt51, BcInt, Tmp1);
1991 return DAG.getNode(ISD::BITCAST, SL, MVT::f64, Tmp2);
1995 SDLoc SL(Op);
2002 SDValue CopySign = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, C1, Src);
2004 SDValue Tmp1 = DAG.getNode(ISD::FADD, SL, MVT::f64, Src, CopySign);
2005 SDValue Tmp2 = DAG.getNode(ISD::FSUB, SL, MVT::f64, Tmp1, CopySign);
2007 SDValue Fabs = DAG.getNode(ISD::FABS, SL, MVT::f64, Src);
2013 SDValue Cond = DAG.getSetCC(SL, SetCCVT, Fabs, C2, ISD::SETOGT);
2015 return DAG.getSelect(SL, MVT::f64, Cond, Src, Tmp2);
2027 SDLoc SL(Op);
2030 SDValue T = DAG.getNode(ISD::FTRUNC, SL, MVT::f32, X);
2032 SDValue Diff = DAG.getNode(ISD::FSUB, SL, MVT::f32, X, T);
2034 SDValue AbsDiff = DAG.getNode(ISD::FABS, SL, MVT::f32, Diff);
2040 SDValue SignOne = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f32, One, X);
2044 SDValue Cmp = DAG.getSetCC(SL, SetCCVT, AbsDiff, Half, ISD::SETOGE);
2046 SDValue Sel = DAG.getNode(ISD::SELECT, SL, MVT::f32, Cmp, SignOne, Zero);
2048 return DAG.getNode(ISD::FADD, SL, MVT::f32, T, Sel);
2052 SDLoc SL(Op);
2055 SDValue L = DAG.getNode(ISD::BITCAST, SL, MVT::i64, X);
2064 SDValue BC = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, X);
2066 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC, One);
2068 SDValue Exp = extractF64Exponent(Hi, SL, DAG);
2072 SDValue M = DAG.getNode(ISD::SRA, SL, MVT::i64, Mask, Exp);
2073 SDValue D = DAG.getNode(ISD::SRA, SL, MVT::i64,
2077 SDValue Tmp0 = DAG.getNode(ISD::AND, SL, MVT::i64, L, M);
2078 SDValue Tmp1 = DAG.getSetCC(SL, SetCCVT,
2082 SDValue Tmp2 = DAG.getNode(ISD::SELECT, SL, MVT::i64, Tmp1,
2084 SDValue K = DAG.getNode(ISD::ADD, SL, MVT::i64, L, Tmp2);
2086 K = DAG.getNode(ISD::AND, SL, MVT::i64, K, DAG.getNOT(SL, M, MVT::i64));
2087 K = DAG.getNode(ISD::BITCAST, SL, MVT::f64, K);
2089 SDValue ExpLt0 = DAG.getSetCC(SL, SetCCVT, Exp, Zero, ISD::SETLT);
2090 SDValue ExpGt51 = DAG.getSetCC(SL, SetCCVT, Exp, FiftyOne, ISD::SETGT);
2091 SDValue ExpEqNegOne = DAG.getSetCC(SL, SetCCVT, NegOne, Exp, ISD::SETEQ);
2093 SDValue Mag = DAG.getNode(ISD::SELECT, SL, MVT::f64,
2098 SDValue S = DAG.getNode(ISD::FCOPYSIGN, SL, MVT::f64, Mag, X);
2100 K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpLt0, S, K);
2101 K = DAG.getNode(ISD::SELECT, SL, MVT::f64, ExpGt51, X, K);
2119 SDLoc SL(Op);
2126 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src);
2133 SDValue Lt0 = DAG.getSetCC(SL, SetCCVT, Src, Zero, ISD::SETOLT);
2134 SDValue NeTrunc = DAG.getSetCC(SL, SetCCVT, Src, Trunc, ISD::SETONE);
2135 SDValue And = DAG.getNode(ISD::AND, SL, SetCCVT, Lt0, NeTrunc);
2137 SDValue Add = DAG.getNode(ISD::SELECT, SL, MVT::f64, And, NegOne, Zero);
2138 return DAG.getNode(ISD::FADD, SL, MVT::f64, Trunc, Add);
2143 SDLoc SL(Op);
2146 SDValue BC = DAG.getNode(ISD::BITCAST, SL, MVT::v2i32, Src);
2148 SDValue Lo = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC,
2150 SDValue Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, MVT::i32, BC,
2154 SL, MVT::f64, Hi);
2156 SDValue CvtLo = DAG.getNode(ISD::UINT_TO_FP, SL, MVT::f64, Lo);
2158 SDValue LdExp = DAG.getNode(AMDGPUISD::LDEXP, SL, MVT::f64, CvtHi,
2161 return DAG.getNode(ISD::FADD, SL, MVT::f64, LdExp, CvtLo);
2201 SDLoc SL(Op);
2205 SDValue Trunc = DAG.getNode(ISD::FTRUNC, SL, MVT::f64, Src);
2212 SDValue Mul = DAG.getNode(ISD::FMUL, SL, MVT::f64, Trunc, K0);
2214 SDValue FloorMul = DAG.getNode(ISD::FFLOOR, SL, MVT::f64, Mul);
2217 SDValue Fma = DAG.getNode(ISD::FMA, SL, MVT::f64, FloorMul, K1, Trunc);
2219 SDValue Hi = DAG.getNode(Signed ? ISD::FP_TO_SINT : ISD::FP_TO_UINT, SL,
2221 SDValue Lo = DAG.getNode(ISD::FP_TO_UINT, SL, MVT::i32, Fma);
2223 SDValue Result = DAG.getNode(ISD::BUILD_VECTOR, SL, MVT::v2i32, Lo, Hi);
2225 return DAG.getNode(ISD::BITCAST, SL, MVT::i64, Result);
2351 SDLoc SL(N);
2356 LoadVT, SL,
2363 SDValue CastLoad = DAG.getNode(ISD::BITCAST, SL, VT, NewLoad.getValue(0));
2366 return DAG.getStore(SN->getChain(), SL, NewLoad,