Lines Matching defs:LC

131   std::pair<SDValue, SDValue> ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
133 std::pair<SDValue, SDValue> ExpandLibCall(RTLIB::Libcall LC, SDNode *Node, bool isSigned);
136 void ExpandFPLibCall(SDNode *Node, RTLIB::Libcall LC,
2062 std::pair<SDValue, SDValue> SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2067 if (const char *LibcallName = TLI.getLibcallName(LC))
2098 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee,
2117 std::pair<SDValue, SDValue> SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2131 return ExpandLibCall(LC, Node, std::move(Args), isSigned);
2157 RTLIB::Libcall LC = RTLIB::getFREXP(VT);
2158 auto [Call, Chain] = ExpandLibCall(LC, Node, std::move(Args), false);
2176 RTLIB::Libcall LC,
2178 if (LC == RTLIB::UNKNOWN_LIBCALL)
2186 std::pair<SDValue, SDValue> Tmp = TLI.makeLibCall(DAG, LC, RetVT,
2194 SDValue Tmp = ExpandLibCall(LC, Node, IsSignedArgument).first;
2207 RTLIB::Libcall LC = RTLIB::getFPLibCall(Node->getSimpleValueType(0),
2210 ExpandFPLibCall(Node, LC, Results);
2219 RTLIB::Libcall LC;
2222 case MVT::i8: LC = Call_I8; break;
2223 case MVT::i16: LC = Call_I16; break;
2224 case MVT::i32: LC = Call_I32; break;
2225 case MVT::i64: LC = Call_I64; break;
2226 case MVT::i128: LC = Call_I128; break;
2228 return ExpandLibCall(LC, Node, isSigned).first;
2241 RTLIB::Libcall LC = RTLIB::getFPLibCall(InVT.getSimpleVT(),
2244 ExpandFPLibCall(Node, LC, Results);
2254 RTLIB::Libcall LC;
2257 case MVT::i8: LC= isSigned ? RTLIB::SDIVREM_I8 : RTLIB::UDIVREM_I8; break;
2258 case MVT::i16: LC= isSigned ? RTLIB::SDIVREM_I16 : RTLIB::UDIVREM_I16; break;
2259 case MVT::i32: LC= isSigned ? RTLIB::SDIVREM_I32 : RTLIB::UDIVREM_I32; break;
2260 case MVT::i64: LC= isSigned ? RTLIB::SDIVREM_I64 : RTLIB::UDIVREM_I64; break;
2261 case MVT::i128: LC= isSigned ? RTLIB::SDIVREM_I128:RTLIB::UDIVREM_I128; break;
2292 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2299 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee,
2315 RTLIB::Libcall LC;
2318 case MVT::f32: LC = RTLIB::SINCOS_F32; break;
2319 case MVT::f64: LC = RTLIB::SINCOS_F64; break;
2320 case MVT::f80: LC = RTLIB::SINCOS_F80; break;
2321 case MVT::f128: LC = RTLIB::SINCOS_F128; break;
2322 case MVT::ppcf128: LC = RTLIB::SINCOS_PPCF128; break;
2324 return TLI.getLibcallName(LC) != nullptr;
2347 RTLIB::Libcall LC;
2350 case MVT::f32: LC = RTLIB::SINCOS_F32; break;
2351 case MVT::f64: LC = RTLIB::SINCOS_F64; break;
2352 case MVT::f80: LC = RTLIB::SINCOS_F80; break;
2353 case MVT::f128: LC = RTLIB::SINCOS_F128; break;
2354 case MVT::ppcf128: LC = RTLIB::SINCOS_PPCF128; break;
2391 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2397 TLI.getLibcallCallingConv(LC), Type::getVoidTy(*DAG.getContext()), Callee,
3663 RTLIB::Libcall LC = RTLIB::getLDEXP(VT);
3666 if (TLI.getLibcallName(LC))
3678 RTLIB::Libcall LC = RTLIB::getFREXP(Node->getValueType(0));
3681 if (TLI.getLibcallName(LC))
4448 RTLIB::Libcall LC = RTLIB::getOUTLINE_ATOMIC(Opc, Order, VT);
4452 if (TLI.getLibcallName(LC)) {
4458 LC = RTLIB::getSYNC(Opc, VT);
4459 assert(LC != RTLIB::UNKNOWN_LIBCALL &&
4464 std::pair<SDValue, SDValue> Tmp = TLI.makeLibCall(DAG, LC, RetVT,
4663 RTLIB::Libcall LC = RTLIB::getPOWI(Node->getSimpleValueType(0));
4664 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unexpected fpowi.");
4665 if (!TLI.getLibcallName(LC)) {
4699 ExpandFPLibCall(Node, LC, Results);
4792 RTLIB::Libcall LC =
4794 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to expand fp_to_fp16");
4795 Results.push_back(ExpandLibCall(LC, Node, false).first);
4799 RTLIB::Libcall LC =
4801 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to expand fp_to_bf16");
4802 Results.push_back(ExpandLibCall(LC, Node, false).first);
4821 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4823 t <= MVT::LAST_INTEGER_VALUETYPE && LC == RTLIB::UNKNOWN_LIBCALL;
4828 LC = Signed ? RTLIB::getSINTTOFP(NVT, RVT)
4831 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4840 TLI.makeLibCall(DAG, LC, RVT, Op, CallOptions, dl, Chain);
4864 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4866 IntVT <= MVT::LAST_INTEGER_VALUETYPE && LC == RTLIB::UNKNOWN_LIBCALL;
4871 LC = Signed ? RTLIB::getFPTOSINT(SVT, NVT)
4874 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4879 TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, dl, Chain);
4902 RTLIB::Libcall LC = RTLIB::getFPROUND(Op.getValueType(), VT);
4903 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4907 TLI.makeLibCall(DAG, LC, VT, Op, CallOptions, SDLoc(Node), Chain);
4923 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4925 LC = RTLIB::getFPROUND(Node->getOperand(1).getValueType(), MVT::f16);
4927 LC = RTLIB::getFPROUND(Node->getOperand(1).getValueType(), MVT::bf16);
4929 LC = RTLIB::getFPEXT(Node->getOperand(1).getValueType(),
4932 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4936 TLI.makeLibCall(DAG, LC, Node->getValueType(0), Node->getOperand(1),