LCOV - code coverage report
Current view: top level - include/llvm/CodeGen - RuntimeLibcalls.def (source / functions) Hit Total Coverage
Test: llvm-toolchain.info Lines: 428 428 100.0 %
Date: 2017-09-14 15:23:50 Functions: 0 0 -
Legend: Lines: hit not hit

          Line data    Source code
       1             : //===-- llvm/RuntimeLibcalls.def - File that describes libcalls -*- C++ -*-===//
       2             : //
       3             : //                     The LLVM Compiler Infrastructure
       4             : //
       5             : // This file is distributed under the University of Illinois Open Source
       6             : // License. See LICENSE.TXT for details.
       7             : //
       8             : //===----------------------------------------------------------------------===//
       9             : //
      10             : // This file defines all of the runtime library calls the backend can emit.
      11             : // The various long double types cannot be merged, because 80-bit library
      12             : // functions use "xf" and 128-bit use "tf".
      13             : //
      14             : // When adding PPCF128 functions here, note that their names generally need
      15             : // to be overridden for Darwin with the xxx$LDBL128 form.  See
      16             : // PPCISelLowering.cpp.
      17             : //
      18             : //===----------------------------------------------------------------------===//
      19             : 
      20             : // NOTE: NO INCLUDE GUARD DESIRED!
      21             : 
      22             : // Provide definitions of macros so that users of this file do not have to
      23             : // define everything to use it...
      24             : 
      25             : // Declare the enumerator for each libcall, along with its default name. Some
      26             : // libcalls have different names on particular OSes or architectures. These
      27             : // are set in InitLibcallNames() in TargetLoweringBase.cpp and/or by targets
      28             : // using TargetLoweringBase::setLibcallName()
      29             : #ifndef HANDLE_LIBCALL
      30             : #error "HANDLE_LIBCALL must be defined"
      31             : #endif
      32             : 
      33             : // Integer
      34       28520 : HANDLE_LIBCALL(SHL_I16, "__ashlhi3")
      35       28520 : HANDLE_LIBCALL(SHL_I32, "__ashlsi3")
      36       28520 : HANDLE_LIBCALL(SHL_I64, "__ashldi3")
      37       28520 : HANDLE_LIBCALL(SHL_I128, "__ashlti3")
      38       28520 : HANDLE_LIBCALL(SRL_I16, "__lshrhi3")
      39       28520 : HANDLE_LIBCALL(SRL_I32, "__lshrsi3")
      40       28520 : HANDLE_LIBCALL(SRL_I64, "__lshrdi3")
      41       28520 : HANDLE_LIBCALL(SRL_I128, "__lshrti3")
      42       28520 : HANDLE_LIBCALL(SRA_I16, "__ashrhi3")
      43       28520 : HANDLE_LIBCALL(SRA_I32, "__ashrsi3")
      44       28520 : HANDLE_LIBCALL(SRA_I64, "__ashrdi3")
      45       28520 : HANDLE_LIBCALL(SRA_I128, "__ashrti3")
      46       28520 : HANDLE_LIBCALL(MUL_I8, "__mulqi3")
      47       28520 : HANDLE_LIBCALL(MUL_I16, "__mulhi3")
      48       28520 : HANDLE_LIBCALL(MUL_I32, "__mulsi3")
      49       28520 : HANDLE_LIBCALL(MUL_I64, "__muldi3")
      50       28520 : HANDLE_LIBCALL(MUL_I128, "__multi3")
      51       28520 : HANDLE_LIBCALL(MULO_I32, "__mulosi4")
      52       28520 : HANDLE_LIBCALL(MULO_I64, "__mulodi4")
      53       28520 : HANDLE_LIBCALL(MULO_I128, "__muloti4")
      54       28520 : HANDLE_LIBCALL(SDIV_I8, "__divqi3")
      55       28520 : HANDLE_LIBCALL(SDIV_I16, "__divhi3")
      56       28520 : HANDLE_LIBCALL(SDIV_I32, "__divsi3")
      57       28520 : HANDLE_LIBCALL(SDIV_I64, "__divdi3")
      58       28520 : HANDLE_LIBCALL(SDIV_I128, "__divti3")
      59       28520 : HANDLE_LIBCALL(UDIV_I8, "__udivqi3")
      60       28520 : HANDLE_LIBCALL(UDIV_I16, "__udivhi3")
      61       28520 : HANDLE_LIBCALL(UDIV_I32, "__udivsi3")
      62       28520 : HANDLE_LIBCALL(UDIV_I64, "__udivdi3")
      63       28520 : HANDLE_LIBCALL(UDIV_I128, "__udivti3")
      64       28520 : HANDLE_LIBCALL(SREM_I8, "__modqi3")
      65       28520 : HANDLE_LIBCALL(SREM_I16, "__modhi3")
      66       28520 : HANDLE_LIBCALL(SREM_I32, "__modsi3")
      67       28520 : HANDLE_LIBCALL(SREM_I64, "__moddi3")
      68       28520 : HANDLE_LIBCALL(SREM_I128, "__modti3")
      69       28520 : HANDLE_LIBCALL(UREM_I8, "__umodqi3")
      70       28520 : HANDLE_LIBCALL(UREM_I16, "__umodhi3")
      71       28520 : HANDLE_LIBCALL(UREM_I32, "__umodsi3")
      72       28520 : HANDLE_LIBCALL(UREM_I64, "__umoddi3")
      73       28520 : HANDLE_LIBCALL(UREM_I128, "__umodti3")
      74       28520 : HANDLE_LIBCALL(SDIVREM_I8, nullptr)
      75       28520 : HANDLE_LIBCALL(SDIVREM_I16, nullptr)
      76       28520 : HANDLE_LIBCALL(SDIVREM_I32, nullptr)
      77       28520 : HANDLE_LIBCALL(SDIVREM_I64, nullptr)
      78       28520 : HANDLE_LIBCALL(SDIVREM_I128, nullptr)
      79       28520 : HANDLE_LIBCALL(UDIVREM_I8, nullptr)
      80       28520 : HANDLE_LIBCALL(UDIVREM_I16, nullptr)
      81       28520 : HANDLE_LIBCALL(UDIVREM_I32, nullptr)
      82       28520 : HANDLE_LIBCALL(UDIVREM_I64, nullptr)
      83       28520 : HANDLE_LIBCALL(UDIVREM_I128, nullptr)
      84       28520 : HANDLE_LIBCALL(NEG_I32, "__negsi2")
      85       28520 : HANDLE_LIBCALL(NEG_I64, "__negdi2")
      86             : 
      87             : // Floating-point
      88       28520 : HANDLE_LIBCALL(ADD_F32, "__addsf3")
      89       28520 : HANDLE_LIBCALL(ADD_F64, "__adddf3")
      90       28520 : HANDLE_LIBCALL(ADD_F80, "__addxf3")
      91       28520 : HANDLE_LIBCALL(ADD_F128, "__addtf3")
      92       28520 : HANDLE_LIBCALL(ADD_PPCF128, "__gcc_qadd")
      93       28520 : HANDLE_LIBCALL(SUB_F32, "__subsf3")
      94       28520 : HANDLE_LIBCALL(SUB_F64, "__subdf3")
      95       28520 : HANDLE_LIBCALL(SUB_F80, "__subxf3")
      96       28520 : HANDLE_LIBCALL(SUB_F128, "__subtf3")
      97       28520 : HANDLE_LIBCALL(SUB_PPCF128, "__gcc_qsub")
      98       28520 : HANDLE_LIBCALL(MUL_F32, "__mulsf3")
      99       28520 : HANDLE_LIBCALL(MUL_F64, "__muldf3")
     100       28520 : HANDLE_LIBCALL(MUL_F80, "__mulxf3")
     101       28520 : HANDLE_LIBCALL(MUL_F128, "__multf3")
     102       28520 : HANDLE_LIBCALL(MUL_PPCF128, "__gcc_qmul")
     103       28520 : HANDLE_LIBCALL(DIV_F32, "__divsf3")
     104       28520 : HANDLE_LIBCALL(DIV_F64, "__divdf3")
     105       28520 : HANDLE_LIBCALL(DIV_F80, "__divxf3")
     106       28520 : HANDLE_LIBCALL(DIV_F128, "__divtf3")
     107       28520 : HANDLE_LIBCALL(DIV_PPCF128, "__gcc_qdiv")
     108       28520 : HANDLE_LIBCALL(REM_F32, "fmodf")
     109       28520 : HANDLE_LIBCALL(REM_F64, "fmod")
     110       28520 : HANDLE_LIBCALL(REM_F80, "fmodl")
     111       28520 : HANDLE_LIBCALL(REM_F128, "fmodl")
     112       28520 : HANDLE_LIBCALL(REM_PPCF128, "fmodl")
     113       28520 : HANDLE_LIBCALL(FMA_F32, "fmaf")
     114       28520 : HANDLE_LIBCALL(FMA_F64, "fma")
     115       28520 : HANDLE_LIBCALL(FMA_F80, "fmal")
     116       28520 : HANDLE_LIBCALL(FMA_F128, "fmal")
     117       28520 : HANDLE_LIBCALL(FMA_PPCF128, "fmal")
     118       28520 : HANDLE_LIBCALL(POWI_F32, "__powisf2")
     119       28520 : HANDLE_LIBCALL(POWI_F64, "__powidf2")
     120       28520 : HANDLE_LIBCALL(POWI_F80, "__powixf2")
     121       28520 : HANDLE_LIBCALL(POWI_F128, "__powitf2")
     122       28520 : HANDLE_LIBCALL(POWI_PPCF128, "__powitf2")
     123       28520 : HANDLE_LIBCALL(SQRT_F32, "sqrtf")
     124       28520 : HANDLE_LIBCALL(SQRT_F64, "sqrt")
     125       28520 : HANDLE_LIBCALL(SQRT_F80, "sqrtl")
     126       28520 : HANDLE_LIBCALL(SQRT_F128, "sqrtl")
     127       28520 : HANDLE_LIBCALL(SQRT_PPCF128, "sqrtl")
     128       28520 : HANDLE_LIBCALL(LOG_F32, "logf")
     129       28520 : HANDLE_LIBCALL(LOG_F64, "log")
     130       28520 : HANDLE_LIBCALL(LOG_F80, "logl")
     131       28520 : HANDLE_LIBCALL(LOG_F128, "logl")
     132       28520 : HANDLE_LIBCALL(LOG_PPCF128, "logl")
     133       28520 : HANDLE_LIBCALL(LOG2_F32, "log2f")
     134       28520 : HANDLE_LIBCALL(LOG2_F64, "log2")
     135       28520 : HANDLE_LIBCALL(LOG2_F80, "log2l")
     136       28520 : HANDLE_LIBCALL(LOG2_F128, "log2l")
     137       28520 : HANDLE_LIBCALL(LOG2_PPCF128, "log2l")
     138       28520 : HANDLE_LIBCALL(LOG10_F32, "log10f")
     139       28520 : HANDLE_LIBCALL(LOG10_F64, "log10")
     140       28520 : HANDLE_LIBCALL(LOG10_F80, "log10l")
     141       28520 : HANDLE_LIBCALL(LOG10_F128, "log10l")
     142       28520 : HANDLE_LIBCALL(LOG10_PPCF128, "log10l")
     143       28520 : HANDLE_LIBCALL(EXP_F32, "expf")
     144       28520 : HANDLE_LIBCALL(EXP_F64, "exp")
     145       28520 : HANDLE_LIBCALL(EXP_F80, "expl")
     146       28520 : HANDLE_LIBCALL(EXP_F128, "expl")
     147       28520 : HANDLE_LIBCALL(EXP_PPCF128, "expl")
     148       28520 : HANDLE_LIBCALL(EXP2_F32, "exp2f")
     149       28520 : HANDLE_LIBCALL(EXP2_F64, "exp2")
     150       28520 : HANDLE_LIBCALL(EXP2_F80, "exp2l")
     151       28520 : HANDLE_LIBCALL(EXP2_F128, "exp2l")
     152       28520 : HANDLE_LIBCALL(EXP2_PPCF128, "exp2l")
     153       28520 : HANDLE_LIBCALL(SIN_F32, "sinf")
     154       28520 : HANDLE_LIBCALL(SIN_F64, "sin")
     155       28520 : HANDLE_LIBCALL(SIN_F80, "sinl")
     156       28520 : HANDLE_LIBCALL(SIN_F128, "sinl")
     157       28520 : HANDLE_LIBCALL(SIN_PPCF128, "sinl")
     158       28520 : HANDLE_LIBCALL(COS_F32, "cosf")
     159       28520 : HANDLE_LIBCALL(COS_F64, "cos")
     160       28520 : HANDLE_LIBCALL(COS_F80, "cosl")
     161       28520 : HANDLE_LIBCALL(COS_F128, "cosl")
     162       28520 : HANDLE_LIBCALL(COS_PPCF128, "cosl")
     163       28520 : HANDLE_LIBCALL(SINCOS_F32, nullptr)
     164       28520 : HANDLE_LIBCALL(SINCOS_F64, nullptr)
     165       28520 : HANDLE_LIBCALL(SINCOS_F80, nullptr)
     166       28520 : HANDLE_LIBCALL(SINCOS_F128, nullptr)
     167       28520 : HANDLE_LIBCALL(SINCOS_PPCF128, nullptr)
     168       28520 : HANDLE_LIBCALL(POW_F32, "powf")
     169       28520 : HANDLE_LIBCALL(POW_F64, "pow")
     170       28520 : HANDLE_LIBCALL(POW_F80, "powl")
     171       28520 : HANDLE_LIBCALL(POW_F128, "powl")
     172       28520 : HANDLE_LIBCALL(POW_PPCF128, "powl")
     173       28520 : HANDLE_LIBCALL(CEIL_F32, "ceilf")
     174       28520 : HANDLE_LIBCALL(CEIL_F64, "ceil")
     175       28520 : HANDLE_LIBCALL(CEIL_F80, "ceill")
     176       28520 : HANDLE_LIBCALL(CEIL_F128, "ceill")
     177       28520 : HANDLE_LIBCALL(CEIL_PPCF128, "ceill")
     178       28520 : HANDLE_LIBCALL(TRUNC_F32, "truncf")
     179       28520 : HANDLE_LIBCALL(TRUNC_F64, "trunc")
     180       28520 : HANDLE_LIBCALL(TRUNC_F80, "truncl")
     181       28520 : HANDLE_LIBCALL(TRUNC_F128, "truncl")
     182       28520 : HANDLE_LIBCALL(TRUNC_PPCF128, "truncl")
     183       28520 : HANDLE_LIBCALL(RINT_F32, "rintf")
     184       28520 : HANDLE_LIBCALL(RINT_F64, "rint")
     185       28520 : HANDLE_LIBCALL(RINT_F80, "rintl")
     186       28520 : HANDLE_LIBCALL(RINT_F128, "rintl")
     187       28520 : HANDLE_LIBCALL(RINT_PPCF128, "rintl")
     188       28520 : HANDLE_LIBCALL(NEARBYINT_F32, "nearbyintf")
     189       28520 : HANDLE_LIBCALL(NEARBYINT_F64, "nearbyint")
     190       28520 : HANDLE_LIBCALL(NEARBYINT_F80, "nearbyintl")
     191       28520 : HANDLE_LIBCALL(NEARBYINT_F128, "nearbyintl")
     192       28520 : HANDLE_LIBCALL(NEARBYINT_PPCF128, "nearbyintl")
     193       28520 : HANDLE_LIBCALL(ROUND_F32, "roundf")
     194       28520 : HANDLE_LIBCALL(ROUND_F64, "round")
     195       28520 : HANDLE_LIBCALL(ROUND_F80, "roundl")
     196       28520 : HANDLE_LIBCALL(ROUND_F128, "roundl")
     197       28520 : HANDLE_LIBCALL(ROUND_PPCF128, "roundl")
     198       28520 : HANDLE_LIBCALL(FLOOR_F32, "floorf")
     199       28520 : HANDLE_LIBCALL(FLOOR_F64, "floor")
     200       28520 : HANDLE_LIBCALL(FLOOR_F80, "floorl")
     201       28520 : HANDLE_LIBCALL(FLOOR_F128, "floorl")
     202       28520 : HANDLE_LIBCALL(FLOOR_PPCF128, "floorl")
     203       28520 : HANDLE_LIBCALL(COPYSIGN_F32, "copysignf")
     204       28520 : HANDLE_LIBCALL(COPYSIGN_F64, "copysign")
     205       28520 : HANDLE_LIBCALL(COPYSIGN_F80, "copysignl")
     206       28520 : HANDLE_LIBCALL(COPYSIGN_F128, "copysignl")
     207       28520 : HANDLE_LIBCALL(COPYSIGN_PPCF128, "copysignl")
     208       28520 : HANDLE_LIBCALL(FMIN_F32, "fminf")
     209       28520 : HANDLE_LIBCALL(FMIN_F64, "fmin")
     210       28520 : HANDLE_LIBCALL(FMIN_F80, "fminl")
     211       28520 : HANDLE_LIBCALL(FMIN_F128, "fminl")
     212       28520 : HANDLE_LIBCALL(FMIN_PPCF128, "fminl")
     213       28520 : HANDLE_LIBCALL(FMAX_F32, "fmaxf")
     214       28520 : HANDLE_LIBCALL(FMAX_F64, "fmax")
     215       28520 : HANDLE_LIBCALL(FMAX_F80, "fmaxl")
     216       28520 : HANDLE_LIBCALL(FMAX_F128, "fmaxl")
     217       28520 : HANDLE_LIBCALL(FMAX_PPCF128, "fmaxl")
     218             : 
     219             : // Conversion
     220       28520 : HANDLE_LIBCALL(FPEXT_F32_PPCF128, "__gcc_stoq")
     221       28520 : HANDLE_LIBCALL(FPEXT_F64_PPCF128, "__gcc_dtoq")
     222       28520 : HANDLE_LIBCALL(FPEXT_F64_F128, "__extenddftf2")
     223       28520 : HANDLE_LIBCALL(FPEXT_F32_F128, "__extendsftf2")
     224       28520 : HANDLE_LIBCALL(FPEXT_F32_F64, "__extendsfdf2")
     225       28520 : HANDLE_LIBCALL(FPEXT_F16_F32, "__gnu_h2f_ieee")
     226       28520 : HANDLE_LIBCALL(FPROUND_F32_F16, "__gnu_f2h_ieee")
     227       28520 : HANDLE_LIBCALL(FPROUND_F64_F16, "__truncdfhf2")
     228       28520 : HANDLE_LIBCALL(FPROUND_F80_F16, "__truncxfhf2")
     229       28520 : HANDLE_LIBCALL(FPROUND_F128_F16, "__trunctfhf2")
     230       28520 : HANDLE_LIBCALL(FPROUND_PPCF128_F16, "__trunctfhf2")
     231       28520 : HANDLE_LIBCALL(FPROUND_F64_F32, "__truncdfsf2")
     232       28520 : HANDLE_LIBCALL(FPROUND_F80_F32, "__truncxfsf2")
     233       28520 : HANDLE_LIBCALL(FPROUND_F128_F32, "__trunctfsf2")
     234       28520 : HANDLE_LIBCALL(FPROUND_PPCF128_F32, "__gcc_qtos")
     235       28520 : HANDLE_LIBCALL(FPROUND_F80_F64, "__truncxfdf2")
     236       28520 : HANDLE_LIBCALL(FPROUND_F128_F64, "__trunctfdf2")
     237       28520 : HANDLE_LIBCALL(FPROUND_PPCF128_F64, "__gcc_qtod")
     238       28520 : HANDLE_LIBCALL(FPTOSINT_F32_I32, "__fixsfsi")
     239       28520 : HANDLE_LIBCALL(FPTOSINT_F32_I64, "__fixsfdi")
     240       28520 : HANDLE_LIBCALL(FPTOSINT_F32_I128, "__fixsfti")
     241       28520 : HANDLE_LIBCALL(FPTOSINT_F64_I32, "__fixdfsi")
     242       28520 : HANDLE_LIBCALL(FPTOSINT_F64_I64, "__fixdfdi")
     243       28520 : HANDLE_LIBCALL(FPTOSINT_F64_I128, "__fixdfti")
     244       28520 : HANDLE_LIBCALL(FPTOSINT_F80_I32, "__fixxfsi")
     245       28520 : HANDLE_LIBCALL(FPTOSINT_F80_I64, "__fixxfdi")
     246       28520 : HANDLE_LIBCALL(FPTOSINT_F80_I128, "__fixxfti")
     247       28520 : HANDLE_LIBCALL(FPTOSINT_F128_I32, "__fixtfsi")
     248       28520 : HANDLE_LIBCALL(FPTOSINT_F128_I64, "__fixtfdi")
     249       28520 : HANDLE_LIBCALL(FPTOSINT_F128_I128, "__fixtfti")
     250       28520 : HANDLE_LIBCALL(FPTOSINT_PPCF128_I32, "__gcc_qtou")
     251       28520 : HANDLE_LIBCALL(FPTOSINT_PPCF128_I64, "__fixtfdi")
     252       28520 : HANDLE_LIBCALL(FPTOSINT_PPCF128_I128, "__fixtfti")
     253       28520 : HANDLE_LIBCALL(FPTOUINT_F32_I32, "__fixunssfsi")
     254       28520 : HANDLE_LIBCALL(FPTOUINT_F32_I64, "__fixunssfdi")
     255       28520 : HANDLE_LIBCALL(FPTOUINT_F32_I128, "__fixunssfti")
     256       28520 : HANDLE_LIBCALL(FPTOUINT_F64_I32, "__fixunsdfsi")
     257       28520 : HANDLE_LIBCALL(FPTOUINT_F64_I64, "__fixunsdfdi")
     258       28520 : HANDLE_LIBCALL(FPTOUINT_F64_I128, "__fixunsdfti")
     259       28520 : HANDLE_LIBCALL(FPTOUINT_F80_I32, "__fixunsxfsi")
     260       28520 : HANDLE_LIBCALL(FPTOUINT_F80_I64, "__fixunsxfdi")
     261       28520 : HANDLE_LIBCALL(FPTOUINT_F80_I128, "__fixunsxfti")
     262       28520 : HANDLE_LIBCALL(FPTOUINT_F128_I32, "__fixunstfsi")
     263       28520 : HANDLE_LIBCALL(FPTOUINT_F128_I64, "__fixunstfdi")
     264       28520 : HANDLE_LIBCALL(FPTOUINT_F128_I128, "__fixunstfti")
     265       28520 : HANDLE_LIBCALL(FPTOUINT_PPCF128_I32, "__fixunstfsi")
     266       28520 : HANDLE_LIBCALL(FPTOUINT_PPCF128_I64, "__fixunstfdi")
     267       28520 : HANDLE_LIBCALL(FPTOUINT_PPCF128_I128, "__fixunstfti")
     268       28520 : HANDLE_LIBCALL(SINTTOFP_I32_F32, "__floatsisf")
     269       28520 : HANDLE_LIBCALL(SINTTOFP_I32_F64, "__floatsidf")
     270       28520 : HANDLE_LIBCALL(SINTTOFP_I32_F80, "__floatsixf")
     271       28520 : HANDLE_LIBCALL(SINTTOFP_I32_F128, "__floatsitf")
     272       28520 : HANDLE_LIBCALL(SINTTOFP_I32_PPCF128, "__gcc_itoq")
     273       28520 : HANDLE_LIBCALL(SINTTOFP_I64_F32, "__floatdisf")
     274       28520 : HANDLE_LIBCALL(SINTTOFP_I64_F64, "__floatdidf")
     275       28520 : HANDLE_LIBCALL(SINTTOFP_I64_F80, "__floatdixf")
     276       28520 : HANDLE_LIBCALL(SINTTOFP_I64_F128, "__floatditf")
     277       28520 : HANDLE_LIBCALL(SINTTOFP_I64_PPCF128, "__floatditf")
     278       28520 : HANDLE_LIBCALL(SINTTOFP_I128_F32, "__floattisf")
     279       28520 : HANDLE_LIBCALL(SINTTOFP_I128_F64, "__floattidf")
     280       28520 : HANDLE_LIBCALL(SINTTOFP_I128_F80, "__floattixf")
     281       28520 : HANDLE_LIBCALL(SINTTOFP_I128_F128, "__floattitf")
     282       28520 : HANDLE_LIBCALL(SINTTOFP_I128_PPCF128, "__floattitf")
     283       28520 : HANDLE_LIBCALL(UINTTOFP_I32_F32, "__floatunsisf")
     284       28520 : HANDLE_LIBCALL(UINTTOFP_I32_F64, "__floatunsidf")
     285       28520 : HANDLE_LIBCALL(UINTTOFP_I32_F80, "__floatunsixf")
     286       28520 : HANDLE_LIBCALL(UINTTOFP_I32_F128, "__floatunsitf")
     287       28520 : HANDLE_LIBCALL(UINTTOFP_I32_PPCF128, "__gcc_utoq")
     288       28520 : HANDLE_LIBCALL(UINTTOFP_I64_F32, "__floatundisf")
     289       28520 : HANDLE_LIBCALL(UINTTOFP_I64_F64, "__floatundidf")
     290       28520 : HANDLE_LIBCALL(UINTTOFP_I64_F80, "__floatundixf")
     291       28520 : HANDLE_LIBCALL(UINTTOFP_I64_F128, "__floatunditf")
     292       28520 : HANDLE_LIBCALL(UINTTOFP_I64_PPCF128, "__floatunditf")
     293       28520 : HANDLE_LIBCALL(UINTTOFP_I128_F32, "__floatuntisf")
     294       28520 : HANDLE_LIBCALL(UINTTOFP_I128_F64, "__floatuntidf")
     295       28520 : HANDLE_LIBCALL(UINTTOFP_I128_F80, "__floatuntixf")
     296       28520 : HANDLE_LIBCALL(UINTTOFP_I128_F128, "__floatuntitf")
     297       28520 : HANDLE_LIBCALL(UINTTOFP_I128_PPCF128, "__floatuntitf")
     298             : 
     299             : // Comparison
     300       28520 : HANDLE_LIBCALL(OEQ_F32, "__eqsf2")
     301       28520 : HANDLE_LIBCALL(OEQ_F64, "__eqdf2")
     302       28520 : HANDLE_LIBCALL(OEQ_F128, "__eqtf2")
     303       28520 : HANDLE_LIBCALL(OEQ_PPCF128, "__gcc_qeq")
     304       28520 : HANDLE_LIBCALL(UNE_F32, "__nesf2")
     305       28520 : HANDLE_LIBCALL(UNE_F64, "__nedf2")
     306       28520 : HANDLE_LIBCALL(UNE_F128, "__netf2")
     307       28520 : HANDLE_LIBCALL(UNE_PPCF128, "__gcc_qne")
     308       28520 : HANDLE_LIBCALL(OGE_F32, "__gesf2")
     309       28520 : HANDLE_LIBCALL(OGE_F64, "__gedf2")
     310       28520 : HANDLE_LIBCALL(OGE_F128, "__getf2")
     311       28520 : HANDLE_LIBCALL(OGE_PPCF128, "__gcc_qge")
     312       28520 : HANDLE_LIBCALL(OLT_F32, "__ltsf2")
     313       28520 : HANDLE_LIBCALL(OLT_F64, "__ltdf2")
     314       28520 : HANDLE_LIBCALL(OLT_F128, "__lttf2")
     315       28520 : HANDLE_LIBCALL(OLT_PPCF128, "__gcc_qlt")
     316       28520 : HANDLE_LIBCALL(OLE_F32, "__lesf2")
     317       28520 : HANDLE_LIBCALL(OLE_F64, "__ledf2")
     318       28520 : HANDLE_LIBCALL(OLE_F128, "__letf2")
     319       28520 : HANDLE_LIBCALL(OLE_PPCF128, "__gcc_qle")
     320       28520 : HANDLE_LIBCALL(OGT_F32, "__gtsf2")
     321       28520 : HANDLE_LIBCALL(OGT_F64, "__gtdf2")
     322       28520 : HANDLE_LIBCALL(OGT_F128, "__gttf2")
     323       28520 : HANDLE_LIBCALL(OGT_PPCF128, "__gcc_qgt")
     324       28520 : HANDLE_LIBCALL(UO_F32, "__unordsf2")
     325       28520 : HANDLE_LIBCALL(UO_F64, "__unorddf2")
     326       28520 : HANDLE_LIBCALL(UO_F128, "__unordtf2")
     327       28520 : HANDLE_LIBCALL(UO_PPCF128, "__gcc_qunord")
     328       28520 : HANDLE_LIBCALL(O_F32, "__unordsf2")
     329       28520 : HANDLE_LIBCALL(O_F64, "__unorddf2")
     330       28520 : HANDLE_LIBCALL(O_F128, "__unordtf2")
     331       28520 : HANDLE_LIBCALL(O_PPCF128, "__gcc_qunord")
     332             : 
     333             : // Memory
     334       28520 : HANDLE_LIBCALL(MEMCPY, "memcpy")
     335       28520 : HANDLE_LIBCALL(MEMMOVE, "memmove")
     336       28520 : HANDLE_LIBCALL(MEMSET, "memset")
     337             : 
     338             : // Element-wise unordered-atomic memory of different sizes
     339       28520 : HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_1, "__llvm_memcpy_element_unordered_atomic_1")
     340       28520 : HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_2, "__llvm_memcpy_element_unordered_atomic_2")
     341       28520 : HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_4, "__llvm_memcpy_element_unordered_atomic_4")
     342       28520 : HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_8, "__llvm_memcpy_element_unordered_atomic_8")
     343       28520 : HANDLE_LIBCALL(MEMCPY_ELEMENT_UNORDERED_ATOMIC_16, "__llvm_memcpy_element_unordered_atomic_16")
     344       28520 : HANDLE_LIBCALL(MEMMOVE_ELEMENT_UNORDERED_ATOMIC_1, "__llvm_memmove_element_unordered_atomic_1")
     345       28520 : HANDLE_LIBCALL(MEMMOVE_ELEMENT_UNORDERED_ATOMIC_2, "__llvm_memmove_element_unordered_atomic_2")
     346       28520 : HANDLE_LIBCALL(MEMMOVE_ELEMENT_UNORDERED_ATOMIC_4, "__llvm_memmove_element_unordered_atomic_4")
     347       28520 : HANDLE_LIBCALL(MEMMOVE_ELEMENT_UNORDERED_ATOMIC_8, "__llvm_memmove_element_unordered_atomic_8")
     348       28520 : HANDLE_LIBCALL(MEMMOVE_ELEMENT_UNORDERED_ATOMIC_16, "__llvm_memmove_element_unordered_atomic_16")
     349       28520 : HANDLE_LIBCALL(MEMSET_ELEMENT_UNORDERED_ATOMIC_1, "__llvm_memset_element_unordered_atomic_1")
     350       28520 : HANDLE_LIBCALL(MEMSET_ELEMENT_UNORDERED_ATOMIC_2, "__llvm_memset_element_unordered_atomic_2")
     351       28520 : HANDLE_LIBCALL(MEMSET_ELEMENT_UNORDERED_ATOMIC_4, "__llvm_memset_element_unordered_atomic_4")
     352       28520 : HANDLE_LIBCALL(MEMSET_ELEMENT_UNORDERED_ATOMIC_8, "__llvm_memset_element_unordered_atomic_8")
     353       28520 : HANDLE_LIBCALL(MEMSET_ELEMENT_UNORDERED_ATOMIC_16, "__llvm_memset_element_unordered_atomic_16")
     354             : 
     355             : // Exception handling
     356       28520 : HANDLE_LIBCALL(UNWIND_RESUME, "_Unwind_Resume")
     357             : 
     358             : // Note: there are two sets of atomics libcalls; see
     359             : // <https://llvm.org/docs/Atomics.html> for more info on the
     360             : // difference between them.
     361             : 
     362             : // Atomic '__sync_*' libcalls.
     363       28520 : HANDLE_LIBCALL(SYNC_VAL_COMPARE_AND_SWAP_1, "__sync_val_compare_and_swap_1")
     364       28520 : HANDLE_LIBCALL(SYNC_VAL_COMPARE_AND_SWAP_2, "__sync_val_compare_and_swap_2")
     365       28520 : HANDLE_LIBCALL(SYNC_VAL_COMPARE_AND_SWAP_4, "__sync_val_compare_and_swap_4")
     366       28520 : HANDLE_LIBCALL(SYNC_VAL_COMPARE_AND_SWAP_8, "__sync_val_compare_and_swap_8")
     367       28520 : HANDLE_LIBCALL(SYNC_VAL_COMPARE_AND_SWAP_16, "__sync_val_compare_and_swap_16")
     368       28520 : HANDLE_LIBCALL(SYNC_LOCK_TEST_AND_SET_1, "__sync_lock_test_and_set_1")
     369       28520 : HANDLE_LIBCALL(SYNC_LOCK_TEST_AND_SET_2, "__sync_lock_test_and_set_2")
     370       28520 : HANDLE_LIBCALL(SYNC_LOCK_TEST_AND_SET_4, "__sync_lock_test_and_set_4")
     371       28520 : HANDLE_LIBCALL(SYNC_LOCK_TEST_AND_SET_8, "__sync_lock_test_and_set_8")
     372       28520 : HANDLE_LIBCALL(SYNC_LOCK_TEST_AND_SET_16, "__sync_lock_test_and_set_16")
     373       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_ADD_1, "__sync_fetch_and_add_1")
     374       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_ADD_2, "__sync_fetch_and_add_2")
     375       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_ADD_4, "__sync_fetch_and_add_4")
     376       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_ADD_8, "__sync_fetch_and_add_8")
     377       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_ADD_16, "__sync_fetch_and_add_16")
     378       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_SUB_1, "__sync_fetch_and_sub_1")
     379       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_SUB_2, "__sync_fetch_and_sub_2")
     380       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_SUB_4, "__sync_fetch_and_sub_4")
     381       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_SUB_8, "__sync_fetch_and_sub_8")
     382       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_SUB_16, "__sync_fetch_and_sub_16")
     383       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_AND_1, "__sync_fetch_and_and_1")
     384       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_AND_2, "__sync_fetch_and_and_2")
     385       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_AND_4, "__sync_fetch_and_and_4")
     386       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_AND_8, "__sync_fetch_and_and_8")
     387       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_AND_16, "__sync_fetch_and_and_16")
     388       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_OR_1, "__sync_fetch_and_or_1")
     389       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_OR_2, "__sync_fetch_and_or_2")
     390       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_OR_4, "__sync_fetch_and_or_4")
     391       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_OR_8, "__sync_fetch_and_or_8")
     392       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_OR_16, "__sync_fetch_and_or_16")
     393       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_XOR_1, "__sync_fetch_and_xor_1")
     394       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_XOR_2, "__sync_fetch_and_xor_2")
     395       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_XOR_4, "__sync_fetch_and_xor_4")
     396       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_XOR_8, "__sync_fetch_and_xor_8")
     397       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_XOR_16, "__sync_fetch_and_xor_16")
     398       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_NAND_1, "__sync_fetch_and_nand_1")
     399       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_NAND_2, "__sync_fetch_and_nand_2")
     400       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_NAND_4, "__sync_fetch_and_nand_4")
     401       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_NAND_8, "__sync_fetch_and_nand_8")
     402       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_NAND_16, "__sync_fetch_and_nand_16")
     403       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MAX_1, "__sync_fetch_and_max_1")
     404       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MAX_2, "__sync_fetch_and_max_2")
     405       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MAX_4, "__sync_fetch_and_max_4")
     406       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MAX_8, "__sync_fetch_and_max_8")
     407       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MAX_16, "__sync_fetch_and_max_16")
     408       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMAX_1, "__sync_fetch_and_umax_1")
     409       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMAX_2, "__sync_fetch_and_umax_2")
     410       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMAX_4, "__sync_fetch_and_umax_4")
     411       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMAX_8, "__sync_fetch_and_umax_8")
     412       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMAX_16, "__sync_fetch_and_umax_16")
     413       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MIN_1, "__sync_fetch_and_min_1")
     414       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MIN_2, "__sync_fetch_and_min_2")
     415       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MIN_4, "__sync_fetch_and_min_4")
     416       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MIN_8, "__sync_fetch_and_min_8")
     417       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_MIN_16, "__sync_fetch_and_min_16")
     418       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMIN_1, "__sync_fetch_and_umin_1")
     419       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMIN_2, "__sync_fetch_and_umin_2")
     420       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMIN_4, "__sync_fetch_and_umin_4")
     421       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMIN_8, "__sync_fetch_and_umin_8")
     422       28520 : HANDLE_LIBCALL(SYNC_FETCH_AND_UMIN_16, "__sync_fetch_and_umin_16")
     423             : 
     424             : // Atomic `__atomic_*' libcalls.
     425       28520 : HANDLE_LIBCALL(ATOMIC_LOAD, "__atomic_load")
     426       28520 : HANDLE_LIBCALL(ATOMIC_LOAD_1, "__atomic_load_1")
     427       28520 : HANDLE_LIBCALL(ATOMIC_LOAD_2, "__atomic_load_2")
     428       28520 : HANDLE_LIBCALL(ATOMIC_LOAD_4, "__atomic_load_4")
     429       28520 : HANDLE_LIBCALL(ATOMIC_LOAD_8, "__atomic_load_8")
     430       28520 : HANDLE_LIBCALL(ATOMIC_LOAD_16, "__atomic_load_16")
     431             : 
     432       28520 : HANDLE_LIBCALL(ATOMIC_STORE, "__atomic_store")
     433       28520 : HANDLE_LIBCALL(ATOMIC_STORE_1, "__atomic_store_1")
     434       28520 : HANDLE_LIBCALL(ATOMIC_STORE_2, "__atomic_store_2")
     435       28520 : HANDLE_LIBCALL(ATOMIC_STORE_4, "__atomic_store_4")
     436       28520 : HANDLE_LIBCALL(ATOMIC_STORE_8, "__atomic_store_8")
     437       28520 : HANDLE_LIBCALL(ATOMIC_STORE_16, "__atomic_store_16")
     438             : 
     439       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE, "__atomic_exchange")
     440       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE_1, "__atomic_exchange_1")
     441       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE_2, "__atomic_exchange_2")
     442       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE_4, "__atomic_exchange_4")
     443       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE_8, "__atomic_exchange_8")
     444       28520 : HANDLE_LIBCALL(ATOMIC_EXCHANGE_16, "__atomic_exchange_16")
     445             : 
     446       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE, "__atomic_compare_exchange")
     447       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE_1, "__atomic_compare_exchange_1")
     448       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE_2, "__atomic_compare_exchange_2")
     449       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE_4, "__atomic_compare_exchange_4")
     450       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE_8, "__atomic_compare_exchange_8")
     451       28520 : HANDLE_LIBCALL(ATOMIC_COMPARE_EXCHANGE_16, "__atomic_compare_exchange_16")
     452             : 
     453       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_ADD_1, "__atomic_fetch_add_1")
     454       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_ADD_2, "__atomic_fetch_add_2")
     455       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_ADD_4, "__atomic_fetch_add_4")
     456       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_ADD_8, "__atomic_fetch_add_8")
     457       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_ADD_16, "__atomic_fetch_add_16")
     458       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_SUB_1, "__atomic_fetch_sub_1")
     459       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_SUB_2, "__atomic_fetch_sub_2")
     460       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_SUB_4, "__atomic_fetch_sub_4")
     461       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_SUB_8, "__atomic_fetch_sub_8")
     462       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_SUB_16, "__atomic_fetch_sub_16")
     463       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_AND_1, "__atomic_fetch_and_1")
     464       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_AND_2, "__atomic_fetch_and_2")
     465       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_AND_4, "__atomic_fetch_and_4")
     466       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_AND_8, "__atomic_fetch_and_8")
     467       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_AND_16, "__atomic_fetch_and_16")
     468       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_OR_1, "__atomic_fetch_or_1")
     469       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_OR_2, "__atomic_fetch_or_2")
     470       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_OR_4, "__atomic_fetch_or_4")
     471       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_OR_8, "__atomic_fetch_or_8")
     472       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_OR_16, "__atomic_fetch_or_16")
     473       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_XOR_1, "__atomic_fetch_xor_1")
     474       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_XOR_2, "__atomic_fetch_xor_2")
     475       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_XOR_4, "__atomic_fetch_xor_4")
     476       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_XOR_8, "__atomic_fetch_xor_8")
     477       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_XOR_16, "__atomic_fetch_xor_16")
     478       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_NAND_1, "__atomic_fetch_nand_1")
     479       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_NAND_2, "__atomic_fetch_nand_2")
     480       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_NAND_4, "__atomic_fetch_nand_4")
     481       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_NAND_8, "__atomic_fetch_nand_8")
     482       28520 : HANDLE_LIBCALL(ATOMIC_FETCH_NAND_16, "__atomic_fetch_nand_16")
     483             : 
     484             : // Stack Protector Fail
     485       28520 : HANDLE_LIBCALL(STACKPROTECTOR_CHECK_FAIL, "__stack_chk_fail")
     486             : 
     487             : // Deoptimization
     488       28520 : HANDLE_LIBCALL(DEOPTIMIZE, "__llvm_deoptimize")
     489             : 
     490       28520 : HANDLE_LIBCALL(UNKNOWN_LIBCALL, nullptr)
     491             : 
     492             : #undef HANDLE_LIBCALL

Generated by: LCOV version 1.13