//===-- ZOSLibcallNames.def ----------------------------------- -*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file defines all of the runtime library functions on z/OS which can be
// generated during instruction selection.
//
//===----------------------------------------------------------------------===//

#if !defined(HANDLE_LIBCALL)
#error "HANDLE_LIBCALL must be defined"
#endif

HANDLE_LIBCALL(TRUNC_F64, "@@TRNC@B")
HANDLE_LIBCALL(TRUNC_F32, "@@FTRC@B")
HANDLE_LIBCALL(TRUNC_F128, "@@LTRC@B")
HANDLE_LIBCALL(SQRT_F64, "@@WSQT@B")
HANDLE_LIBCALL(SQRT_F32, "@@FSQT@B")
HANDLE_LIBCALL(SQRT_F128, "@@LSQT@B")
HANDLE_LIBCALL(SIN_F64, "@@SSIN@B")
HANDLE_LIBCALL(SIN_F32, "@@FSIN@B")
HANDLE_LIBCALL(SIN_F128, "@@LSIN@B")
HANDLE_LIBCALL(ROUND_F64, "@@ROUN@B")
HANDLE_LIBCALL(ROUND_F32, "@@ROUNFB")
HANDLE_LIBCALL(ROUND_F128, "@@ROUNLB")
HANDLE_LIBCALL(RINT_F64, "@@SRNT@B")
HANDLE_LIBCALL(RINT_F32, "@@RINTFB")
HANDLE_LIBCALL(RINT_F128, "@@RINTLB")
HANDLE_LIBCALL(REM_F64, "@@WFMD@B")
HANDLE_LIBCALL(REM_F32, "@@FFMD@B")
HANDLE_LIBCALL(REM_F128, "@@LFMD@B")
HANDLE_LIBCALL(POW_F64, "@@WPOW@B")
HANDLE_LIBCALL(POW_F32, "@@FPOW@B")
HANDLE_LIBCALL(POW_F128, "@@LPOW@B")
HANDLE_LIBCALL(NEARBYINT_F64, "@@NBYI@B")
HANDLE_LIBCALL(NEARBYINT_F32, "@@NBYIFB")
HANDLE_LIBCALL(NEARBYINT_F128, "@@NBYILB")
HANDLE_LIBCALL(LROUND_F64, "@@ROND@B")
HANDLE_LIBCALL(LROUND_F32, "@@FRND@B")
HANDLE_LIBCALL(LROUND_F128, "@@LRND@B")
HANDLE_LIBCALL(LRINT_F64, "@@LRNT@B")
HANDLE_LIBCALL(LRINT_F32, "@@LRNTFB")
HANDLE_LIBCALL(LRINT_F128, "@@LRNTLB")
HANDLE_LIBCALL(LOG_F64, "@@WLOG@B")
HANDLE_LIBCALL(LOG_F32, "@@FLOG@B")
HANDLE_LIBCALL(LOG_F128, "@@LLOG@B")
HANDLE_LIBCALL(LOG2_F64, "@@LOG2@B")
HANDLE_LIBCALL(LOG2_F32, "@@FLG2@B")
HANDLE_LIBCALL(LOG2_F128, "@@LLG2@B")
HANDLE_LIBCALL(LOG10_F64, "@@WLG1@B")
HANDLE_LIBCALL(LOG10_F32, "@@FLG1@B")
HANDLE_LIBCALL(LOG10_F128, "@@LLG1@B")
HANDLE_LIBCALL(LLROUND_F64, "@@LLRD@B")
HANDLE_LIBCALL(LLROUND_F32, "@@LLRDFB")
HANDLE_LIBCALL(LLROUND_F128, "@@LLRDLB")
HANDLE_LIBCALL(LLRINT_F64, "@@LLRT@B")
HANDLE_LIBCALL(LLRINT_F32, "@@LLRTFB")
HANDLE_LIBCALL(LLRINT_F128, "@@LLRTLB")
HANDLE_LIBCALL(LDEXP_F64, "@@SLXP@B")
HANDLE_LIBCALL(LDEXP_F32, "@@FLXP@B")
HANDLE_LIBCALL(LDEXP_F128, "@@LLXP@B")
HANDLE_LIBCALL(FREXP_F64, "@@SFXP@B")
HANDLE_LIBCALL(FREXP_F32, "@@FFXP@B")
HANDLE_LIBCALL(FREXP_F128, "@@LFXP@B")
HANDLE_LIBCALL(FMIN_F64, "@@FMIN@B")
HANDLE_LIBCALL(FMIN_F32, "@@FMINFB")
HANDLE_LIBCALL(FMIN_F128, "@@FMINLB")
HANDLE_LIBCALL(FMA_F64, "@@FMA@B")
HANDLE_LIBCALL(FMA_F32, "@@FMAFB")
HANDLE_LIBCALL(FMA_F128, "@@FMALB")
HANDLE_LIBCALL(FMAX_F64, "@@FMAX@B")
HANDLE_LIBCALL(FMAX_F32, "@@FMAXFB")
HANDLE_LIBCALL(FMAX_F128, "@@FMAXLB")
HANDLE_LIBCALL(FLOOR_F64, "@@SFLR@B")
HANDLE_LIBCALL(FLOOR_F32, "@@FFLR@B")
HANDLE_LIBCALL(FLOOR_F128, "@@LFLR@B")
HANDLE_LIBCALL(EXP_F64, "@@WEXP@B")
HANDLE_LIBCALL(EXP_F32, "@@FEXP@B")
HANDLE_LIBCALL(EXP_F128, "@@LEXP@B")
HANDLE_LIBCALL(EXP2_F64, "@@EXP2@B")
HANDLE_LIBCALL(EXP2_F32, "@@FXP2@B")
HANDLE_LIBCALL(EXP2_F128, "@@LXP2@B")
HANDLE_LIBCALL(COS_F64, "@@SCOS@B")
HANDLE_LIBCALL(COS_F32, "@@FCOS@B")
HANDLE_LIBCALL(COS_F128, "@@LCOS@B")
HANDLE_LIBCALL(COPYSIGN_F64, "@@DCPY@B")
HANDLE_LIBCALL(COPYSIGN_F32, "@@FCPY@B")
HANDLE_LIBCALL(COPYSIGN_F128, "@@LCPY@B")
HANDLE_LIBCALL(CEIL_F64, "@@SCEL@B")
HANDLE_LIBCALL(CEIL_F32, "@@FCEL@B")
HANDLE_LIBCALL(CEIL_F128, "@@LCEL@B")
HANDLE_LIBCALL(CBRT_F64, "@@SCRT@B")
HANDLE_LIBCALL(CBRT_F32, "@@FCBT@B")
HANDLE_LIBCALL(CBRT_F128, "@@LCBT@B")

#undef HANDLE_LIBCALL
