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);
135 void ExpandFPLibCall(SDNode *Node, RTLIB::Libcall LC,
2074 std::pair<SDValue, SDValue> SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2079 if (const char *LibcallName = TLI.getLibcallName(LC))
2110 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee,
2129 std::pair<SDValue, SDValue> SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2143 return ExpandLibCall(LC, Node, std::move(Args), isSigned);
2147 RTLIB::Libcall LC,
2149 if (LC == RTLIB::UNKNOWN_LIBCALL)
2158 std::pair<SDValue, SDValue> Tmp = TLI.makeLibCall(DAG, LC, RetVT,
2166 SDValue Tmp = ExpandLibCall(LC, Node, IsSignedArgument).first;
2179 RTLIB::Libcall LC = RTLIB::getFPLibCall(Node->getSimpleValueType(0),
2182 ExpandFPLibCall(Node, LC, Results);
2191 RTLIB::Libcall LC;
2194 case MVT::i8: LC = Call_I8; break;
2195 case MVT::i16: LC = Call_I16; break;
2196 case MVT::i32: LC = Call_I32; break;
2197 case MVT::i64: LC = Call_I64; break;
2198 case MVT::i128: LC = Call_I128; break;
2200 return ExpandLibCall(LC, Node, isSigned).first;
2213 RTLIB::Libcall LC = RTLIB::getFPLibCall(InVT.getSimpleVT(),
2216 ExpandFPLibCall(Node, LC, Results);
2226 RTLIB::Libcall LC;
2229 case MVT::i8: LC= isSigned ? RTLIB::SDIVREM_I8 : RTLIB::UDIVREM_I8; break;
2230 case MVT::i16: LC= isSigned ? RTLIB::SDIVREM_I16 : RTLIB::UDIVREM_I16; break;
2231 case MVT::i32: LC= isSigned ? RTLIB::SDIVREM_I32 : RTLIB::UDIVREM_I32; break;
2232 case MVT::i64: LC= isSigned ? RTLIB::SDIVREM_I64 : RTLIB::UDIVREM_I64; break;
2233 case MVT::i128: LC= isSigned ? RTLIB::SDIVREM_I128:RTLIB::UDIVREM_I128; break;
2264 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2271 .setLibCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee,
2287 RTLIB::Libcall LC = RTLIB::getFSINCOS(Node->getSimpleValueType(0).SimpleTy);
2288 return TLI.getLibcallName(LC) != nullptr;
3577 RTLIB::Libcall LC = RTLIB::getLDEXP(VT);
3580 if (TLI.getLibcallName(LC))
3592 RTLIB::Libcall LC = RTLIB::getFREXP(Node->getValueType(0));
3595 if (TLI.getLibcallName(LC))
4388 RTLIB::Libcall LC = RTLIB::getOUTLINE_ATOMIC(Opc, Order, VT);
4391 if (TLI.getLibcallName(LC)) {
4397 LC = RTLIB::getSYNC(Opc, VT);
4398 assert(LC != RTLIB::UNKNOWN_LIBCALL &&
4403 std::pair<SDValue, SDValue> Tmp = TLI.makeLibCall(DAG, LC, RetVT,
4525 RTLIB::Libcall LC = RTLIB::getFSINCOS(Node->getValueType(0));
4526 bool Expanded = DAG.expandMultipleResultFPLibCall(LC, Node, Results);
4614 RTLIB::Libcall LC = RTLIB::getFREXP(Node->getValueType(0));
4615 bool Expanded = DAG.expandMultipleResultFPLibCall(LC, Node, Results,
4623 RTLIB::Libcall LC = RTLIB::getPOWI(Node->getSimpleValueType(0));
4624 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unexpected fpowi.");
4625 if (!TLI.getLibcallName(LC)) {
4659 ExpandFPLibCall(Node, LC, Results);
4750 RTLIB::Libcall LC =
4752 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to expand fp_to_fp16");
4753 Results.push_back(ExpandLibCall(LC, Node, false).first);
4757 RTLIB::Libcall LC =
4759 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to expand fp_to_bf16");
4760 Results.push_back(ExpandLibCall(LC, Node, false).first);
4779 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4781 t <= MVT::LAST_INTEGER_VALUETYPE && LC == RTLIB::UNKNOWN_LIBCALL;
4786 LC = Signed ? RTLIB::getSINTTOFP(NVT, RVT)
4789 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4797 TLI.makeLibCall(DAG, LC, RVT, Op, CallOptions, dl, Chain);
4821 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4823 IntVT <= MVT::LAST_INTEGER_VALUETYPE && LC == RTLIB::UNKNOWN_LIBCALL;
4828 LC = Signed ? RTLIB::getFPTOSINT(SVT, NVT)
4831 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4835 TLI.makeLibCall(DAG, LC, NVT, Op, CallOptions, dl, Chain);
4858 RTLIB::Libcall LC = RTLIB::getFPROUND(Op.getValueType(), VT);
4859 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4862 TLI.makeLibCall(DAG, LC, VT, Op, CallOptions, SDLoc(Node), Chain);
4878 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
4880 LC = RTLIB::getFPROUND(Node->getOperand(1).getValueType(), MVT::f16);
4882 LC = RTLIB::getFPROUND(Node->getOperand(1).getValueType(), MVT::bf16);
4884 LC = RTLIB::getFPEXT(Node->getOperand(1).getValueType(),
4887 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Unable to legalize as libcall");
4890 TLI.makeLibCall(DAG, LC, Node->getValueType(0), Node->getOperand(1),