Lines Matching refs:LC

102   SDValue ExpandLibCall(RTLIB::Libcall LC, SDNode *Node, bool isSigned);
103 SDValue ExpandLibCall(RTLIB::Libcall LC, EVT RetVT, const SDValue *Ops,
106 std::pair<SDValue, SDValue> ExpandChainLibCall(RTLIB::Libcall LC,
2031 SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, SDNode *Node,
2043 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2063 .setCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee, std::move(Args), 0)
2077 SDValue SelectionDAGLegalize::ExpandLibCall(RTLIB::Libcall LC, EVT RetVT,
2091 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2098 .setCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee, std::move(Args), 0)
2109 SelectionDAGLegalize::ExpandChainLibCall(RTLIB::Libcall LC,
2125 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2132 .setCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee, std::move(Args), 0)
2146 RTLIB::Libcall LC;
2149 case MVT::f32: LC = Call_F32; break;
2150 case MVT::f64: LC = Call_F64; break;
2151 case MVT::f80: LC = Call_F80; break;
2152 case MVT::f128: LC = Call_F128; break;
2153 case MVT::ppcf128: LC = Call_PPCF128; break;
2155 return ExpandLibCall(LC, Node, false);
2164 RTLIB::Libcall LC;
2167 case MVT::i8: LC = Call_I8; break;
2168 case MVT::i16: LC = Call_I16; break;
2169 case MVT::i32: LC = Call_I32; break;
2170 case MVT::i64: LC = Call_I64; break;
2171 case MVT::i128: LC = Call_I128; break;
2173 return ExpandLibCall(LC, Node, isSigned);
2179 RTLIB::Libcall LC;
2182 case MVT::i8: LC= isSigned ? RTLIB::SDIVREM_I8 : RTLIB::UDIVREM_I8; break;
2183 case MVT::i16: LC= isSigned ? RTLIB::SDIVREM_I16 : RTLIB::UDIVREM_I16; break;
2184 case MVT::i32: LC= isSigned ? RTLIB::SDIVREM_I32 : RTLIB::UDIVREM_I32; break;
2185 case MVT::i64: LC= isSigned ? RTLIB::SDIVREM_I64 : RTLIB::UDIVREM_I64; break;
2186 case MVT::i128: LC= isSigned ? RTLIB::SDIVREM_I128:RTLIB::UDIVREM_I128; break;
2189 return TLI.getLibcallName(LC) != nullptr;
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;
2263 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2269 .setCallee(TLI.getLibcallCallingConv(LC), RetTy, Callee, std::move(Args), 0)
2283 RTLIB::Libcall LC;
2286 case MVT::f32: LC = RTLIB::SINCOS_F32; break;
2287 case MVT::f64: LC = RTLIB::SINCOS_F64; break;
2288 case MVT::f80: LC = RTLIB::SINCOS_F80; break;
2289 case MVT::f128: LC = RTLIB::SINCOS_F128; break;
2290 case MVT::ppcf128: LC = RTLIB::SINCOS_PPCF128; break;
2292 return TLI.getLibcallName(LC) != nullptr;
2333 RTLIB::Libcall LC;
2336 case MVT::f32: LC = RTLIB::SINCOS_F32; break;
2337 case MVT::f64: LC = RTLIB::SINCOS_F64; break;
2338 case MVT::f80: LC = RTLIB::SINCOS_F80; break;
2339 case MVT::f128: LC = RTLIB::SINCOS_F128; break;
2340 case MVT::ppcf128: LC = RTLIB::SINCOS_PPCF128; break;
2377 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC),
2383 .setCallee(TLI.getLibcallCallingConv(LC),
2824 RTLIB::Libcall LC;
2832 case MVT::i8: LC = RTLIB::SYNC_LOCK_TEST_AND_SET_1; break;
2833 case MVT::i16: LC = RTLIB::SYNC_LOCK_TEST_AND_SET_2; break;
2834 case MVT::i32: LC = RTLIB::SYNC_LOCK_TEST_AND_SET_4; break;
2835 case MVT::i64: LC = RTLIB::SYNC_LOCK_TEST_AND_SET_8; break;
2836 case MVT::i128:LC = RTLIB::SYNC_LOCK_TEST_AND_SET_16;break;
2842 case MVT::i8: LC = RTLIB::SYNC_VAL_COMPARE_AND_SWAP_1; break;
2843 case MVT::i16: LC = RTLIB::SYNC_VAL_COMPARE_AND_SWAP_2; break;
2844 case MVT::i32: LC = RTLIB::SYNC_VAL_COMPARE_AND_SWAP_4; break;
2845 case MVT::i64: LC = RTLIB::SYNC_VAL_COMPARE_AND_SWAP_8; break;
2846 case MVT::i128:LC = RTLIB::SYNC_VAL_COMPARE_AND_SWAP_16;break;
2852 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_ADD_1; break;
2853 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_ADD_2; break;
2854 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_ADD_4; break;
2855 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_ADD_8; break;
2856 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_ADD_16;break;
2862 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_SUB_1; break;
2863 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_SUB_2; break;
2864 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_SUB_4; break;
2865 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_SUB_8; break;
2866 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_SUB_16;break;
2872 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_AND_1; break;
2873 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_AND_2; break;
2874 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_AND_4; break;
2875 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_AND_8; break;
2876 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_AND_16;break;
2882 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_OR_1; break;
2883 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_OR_2; break;
2884 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_OR_4; break;
2885 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_OR_8; break;
2886 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_OR_16;break;
2892 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_XOR_1; break;
2893 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_XOR_2; break;
2894 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_XOR_4; break;
2895 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_XOR_8; break;
2896 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_XOR_16;break;
2902 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_NAND_1; break;
2903 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_NAND_2; break;
2904 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_NAND_4; break;
2905 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_NAND_8; break;
2906 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_NAND_16;break;
2912 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_MAX_1; break;
2913 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_MAX_2; break;
2914 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_MAX_4; break;
2915 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_MAX_8; break;
2916 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_MAX_16;break;
2922 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_UMAX_1; break;
2923 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_UMAX_2; break;
2924 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_UMAX_4; break;
2925 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_UMAX_8; break;
2926 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_UMAX_16;break;
2932 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_MIN_1; break;
2933 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_MIN_2; break;
2934 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_MIN_4; break;
2935 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_MIN_8; break;
2936 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_MIN_16;break;
2942 case MVT::i8: LC = RTLIB::SYNC_FETCH_AND_UMIN_1; break;
2943 case MVT::i16: LC = RTLIB::SYNC_FETCH_AND_UMIN_2; break;
2944 case MVT::i32: LC = RTLIB::SYNC_FETCH_AND_UMIN_4; break;
2945 case MVT::i64: LC = RTLIB::SYNC_FETCH_AND_UMIN_8; break;
2946 case MVT::i128:LC = RTLIB::SYNC_FETCH_AND_UMIN_16;break;
2951 return ExpandChainLibCall(LC, Node, false);
3817 RTLIB::Libcall LC = RTLIB::UNKNOWN_LIBCALL;
3819 LC = RTLIB::MUL_I16;
3821 LC = RTLIB::MUL_I32;
3823 LC = RTLIB::MUL_I64;
3825 LC = RTLIB::MUL_I128;
3826 assert(LC != RTLIB::UNKNOWN_LIBCALL && "Cannot expand this operation!");
3841 SDValue Ret = ExpandLibCall(LC, WideVT, Args, 4, isSigned, dl);