diff --git a/llvm/lib/Target/CSKY/CSKYISelLowering.cpp b/llvm/lib/Target/CSKY/CSKYISelLowering.cpp index e3b4a2dc048ab..ef1bc4a57a951 100644 --- a/llvm/lib/Target/CSKY/CSKYISelLowering.cpp +++ b/llvm/lib/Target/CSKY/CSKYISelLowering.cpp @@ -109,6 +109,26 @@ CSKYTargetLowering::CSKYTargetLowering(const TargetMachine &TM, setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand); + // These libcalls are not available in 32-bit. + setLibcallName(RTLIB::SHL_I128, nullptr); + setLibcallName(RTLIB::SRL_I128, nullptr); + setLibcallName(RTLIB::SRA_I128, nullptr); + setLibcallName(RTLIB::MUL_I128, nullptr); + setLibcallName(RTLIB::MULO_I64, nullptr); + setLibcallName(RTLIB::MULO_I128, nullptr); + setLibcallName(SINTTOFP_I128_F16, nullptr); + setLibcallName(SINTTOFP_I128_F32, nullptr); + setLibcallName(SINTTOFP_I128_F64, nullptr); + setLibcallName(SINTTOFP_I128_F80, nullptr); + setLibcallName(SINTTOFP_I128_F128, nullptr); + setLibcallName(SINTTOFP_I128_PPCF128, nullptr); + setLibcallName(UINTTOFP_I128_F16, nullptr); + setLibcallName(UINTTOFP_I128_F32, nullptr); + setLibcallName(UINTTOFP_I128_F64, nullptr); + setLibcallName(UINTTOFP_I128_F80, nullptr); + setLibcallName(UINTTOFP_I128_F128, nullptr); + setLibcallName(UINTTOFP_I128_PPCF128, nullptr); + // Float ISD::CondCode FPCCToExtend[] = {