1072a4ba8SAndrew Turner /* 2072a4ba8SAndrew Turner * Function entries for ulp. 3072a4ba8SAndrew Turner * 4*f3087befSAndrew Turner * Copyright (c) 2022-2024, Arm Limited. 5072a4ba8SAndrew Turner * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6072a4ba8SAndrew Turner */ 75a02ffc3SAndrew Turner /* clang-format off */ 8072a4ba8SAndrew Turner F (sincosf_sinf, sincosf_sinf, sincos_sin, sincos_mpfr_sin, 1, 1, f1, 0) 9072a4ba8SAndrew Turner F (sincosf_cosf, sincosf_cosf, sincos_cos, sincos_mpfr_cos, 1, 1, f1, 0) 10072a4ba8SAndrew Turner F2 (pow) 11072a4ba8SAndrew Turner D2 (pow) 12*f3087befSAndrew Turner #if __aarch64__ && __linux__ 135a02ffc3SAndrew Turner F (_ZGVnN4v_expf_1u, Z_expf_1u, exp, mpfr_exp, 1, 1, f1, 1) 145a02ffc3SAndrew Turner F (_ZGVnN4v_exp2f_1u, Z_exp2f_1u, exp2, mpfr_exp2, 1, 1, f1, 1) 15072a4ba8SAndrew Turner F (_ZGVnN4vv_powf, Z_powf, pow, mpfr_pow, 2, 1, f2, 1) 16072a4ba8SAndrew Turner F (_ZGVnN2vv_pow, Z_pow, powl, mpfr_pow, 2, 0, d2, 1) 17*f3087befSAndrew Turner F (_ZGVnN4v_sincosf_sin, v_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0) 18*f3087befSAndrew Turner F (_ZGVnN4v_sincosf_cos, v_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0) 19*f3087befSAndrew Turner F (_ZGVnN4v_cexpif_sin, v_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0) 20*f3087befSAndrew Turner F (_ZGVnN4v_cexpif_cos, v_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0) 21*f3087befSAndrew Turner F (_ZGVnN4vl4_modff_frac, v_modff_frac, modf_frac, modf_mpfr_frac, 1, 1, f1, 0) 22*f3087befSAndrew Turner F (_ZGVnN4vl4_modff_int, v_modff_int, modf_int, modf_mpfr_int, 1, 1, f1, 0) 23*f3087befSAndrew Turner F (_ZGVnN2v_sincos_sin, v_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0) 24*f3087befSAndrew Turner F (_ZGVnN2v_sincos_cos, v_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0) 25*f3087befSAndrew Turner F (_ZGVnN2v_cexpi_sin, v_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0) 26*f3087befSAndrew Turner F (_ZGVnN2v_cexpi_cos, v_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0) 27*f3087befSAndrew Turner F (_ZGVnN2vl8_modf_frac, v_modf_frac, modfl_frac, modf_mpfr_frac, 1, 0, d1, 0) 28*f3087befSAndrew Turner F (_ZGVnN2vl8_modf_int, v_modf_int, modfl_int, modf_mpfr_int, 1, 0, d1, 0) 29072a4ba8SAndrew Turner #endif 30*f3087befSAndrew Turner 31*f3087befSAndrew Turner #if WANT_SVE_TESTS 32*f3087befSAndrew Turner SVF (_ZGVsMxv_sincosf_sin, sv_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0) 33*f3087befSAndrew Turner SVF (_ZGVsMxv_sincosf_cos, sv_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0) 34*f3087befSAndrew Turner SVF (_ZGVsMxv_cexpif_sin, sv_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0) 35*f3087befSAndrew Turner SVF (_ZGVsMxv_cexpif_cos, sv_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0) 36*f3087befSAndrew Turner SVF (_ZGVsMxvl4_modff_frac, sv_modff_frac, modf_frac, modf_mpfr_frac, 1, 1, f1, 0) 37*f3087befSAndrew Turner SVF (_ZGVsMxvl4_modff_int, sv_modff_int, modf_int, modf_mpfr_int, 1, 1, f1, 0) 38*f3087befSAndrew Turner SVF (_ZGVsMxv_sincos_sin, sv_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0) 39*f3087befSAndrew Turner SVF (_ZGVsMxv_sincos_cos, sv_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0) 40*f3087befSAndrew Turner SVF (_ZGVsMxv_cexpi_sin, sv_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0) 41*f3087befSAndrew Turner SVF (_ZGVsMxv_cexpi_cos, sv_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0) 42*f3087befSAndrew Turner SVF (_ZGVsMxvl8_modf_frac, sv_modf_frac, modfl_frac, modf_mpfr_frac, 1, 0, d1, 0) 43*f3087befSAndrew Turner SVF (_ZGVsMxvl8_modf_int, sv_modf_int, modfl_int, modf_mpfr_int, 1, 0, d1, 0) 44*f3087befSAndrew Turner #endif 45*f3087befSAndrew Turner 46*f3087befSAndrew Turner #if WANT_EXPERIMENTAL_MATH 47*f3087befSAndrew Turner F (arm_math_erff, arm_math_erff, erf, mpfr_erf, 1, 1, f1, 0) 48*f3087befSAndrew Turner F (arm_math_erf, arm_math_erf, erfl, mpfr_erf, 1, 0, d1, 0) 49*f3087befSAndrew Turner #endif 50*f3087befSAndrew Turner 51*f3087befSAndrew Turner #if WANT_TRIGPI_TESTS 52*f3087befSAndrew Turner F (arm_math_cospif, arm_math_cospif, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 53*f3087befSAndrew Turner F (arm_math_cospi, arm_math_cospi, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 54*f3087befSAndrew Turner F (arm_math_sinpif, arm_math_sinpif, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 55*f3087befSAndrew Turner F (arm_math_sinpi, arm_math_sinpi, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 56*f3087befSAndrew Turner F (arm_math_tanpif, arm_math_tanpif, arm_math_tanpi, mpfr_tanpi, 1, 1, f1, 0) 57*f3087befSAndrew Turner F (arm_math_tanpi, arm_math_tanpi, arm_math_tanpil, mpfr_tanpi, 1, 0, d1, 0) 58*f3087befSAndrew Turner F (arm_math_sincospif_sin, arm_math_sincospif_sin, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 59*f3087befSAndrew Turner F (arm_math_sincospif_cos, arm_math_sincospif_cos, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 60*f3087befSAndrew Turner F (arm_math_sincospi_sin, arm_math_sincospi_sin, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 61*f3087befSAndrew Turner F (arm_math_sincospi_cos, arm_math_sincospi_cos, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 62*f3087befSAndrew Turner # if __aarch64__ && __linux__ 63*f3087befSAndrew Turner F (_ZGVnN4v_cospif, Z_cospif, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 64*f3087befSAndrew Turner F (_ZGVnN2v_cospi, Z_cospi, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 65*f3087befSAndrew Turner F (_ZGVnN4v_sinpif, Z_sinpif, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 66*f3087befSAndrew Turner F (_ZGVnN2v_sinpi, Z_sinpi, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 67*f3087befSAndrew Turner F (_ZGVnN4v_tanpif, Z_tanpif, arm_math_tanpi, mpfr_tanpi, 1, 1, f1, 0) 68*f3087befSAndrew Turner F (_ZGVnN2v_tanpi, Z_tanpi, arm_math_tanpil, mpfr_tanpi, 1, 0, d1, 0) 69*f3087befSAndrew Turner F (_ZGVnN4v_sincospif_sin, v_sincospif_sin, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 70*f3087befSAndrew Turner F (_ZGVnN4v_sincospif_cos, v_sincospif_cos, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 71*f3087befSAndrew Turner F (_ZGVnN2v_sincospi_sin, v_sincospi_sin, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 72*f3087befSAndrew Turner F (_ZGVnN2v_sincospi_cos, v_sincospi_cos, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 73*f3087befSAndrew Turner # endif 74*f3087befSAndrew Turner # if WANT_SVE_TESTS 75*f3087befSAndrew Turner SVF (_ZGVsMxv_cospif, Z_sv_cospif, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 76*f3087befSAndrew Turner SVF (_ZGVsMxv_cospi, Z_sv_cospi, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 77*f3087befSAndrew Turner SVF (_ZGVsMxv_sinpif, Z_sv_sinpif, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 78*f3087befSAndrew Turner SVF (_ZGVsMxv_sinpi, Z_sv_sinpi, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 79*f3087befSAndrew Turner SVF (_ZGVsMxv_tanpif, Z_sv_tanpif, arm_math_tanpi, mpfr_tanpi, 1, 1, f1, 0) 80*f3087befSAndrew Turner SVF (_ZGVsMxv_tanpi, Z_sv_tanpi, arm_math_tanpil, mpfr_tanpi, 1, 0, d1, 0) 81*f3087befSAndrew Turner SVF (_ZGVsMxvl4l4_sincospif_sin, sv_sincospif_sin, arm_math_sinpi, mpfr_sinpi, 1, 1, f1, 0) 82*f3087befSAndrew Turner SVF (_ZGVsMxvl4l4_sincospif_cos, sv_sincospif_cos, arm_math_cospi, mpfr_cospi, 1, 1, f1, 0) 83*f3087befSAndrew Turner SVF (_ZGVsMxvl8l8_sincospi_sin, sv_sincospi_sin, arm_math_sinpil, mpfr_sinpi, 1, 0, d1, 0) 84*f3087befSAndrew Turner SVF (_ZGVsMxvl8l8_sincospi_cos, sv_sincospi_cos, arm_math_cospil, mpfr_cospi, 1, 0, d1, 0) 85*f3087befSAndrew Turner # if WANT_EXPERIMENTAL_MATH 86*f3087befSAndrew Turner SVF (_ZGVsMxvv_powk, Z_sv_powk, ref_powi, mpfr_powi, 2, 0, d2, 0) 87*f3087befSAndrew Turner SVF (_ZGVsMxvv_powi, Z_sv_powi, ref_powif, mpfr_powi, 2, 1, f2, 0) 88*f3087befSAndrew Turner # endif 89*f3087befSAndrew Turner # endif 90*f3087befSAndrew Turner #endif 91*f3087befSAndrew Turner 925a02ffc3SAndrew Turner /* clang-format on */ 93*f3087befSAndrew Turner 94*f3087befSAndrew Turner #define _ZSF1(f) F1 (f) 95*f3087befSAndrew Turner #define _ZSF2(f) F2 (f) 96*f3087befSAndrew Turner #define _ZSD1(f) D1 (f) 97*f3087befSAndrew Turner #define _ZSD2(f) D2 (f) 98*f3087befSAndrew Turner 99*f3087befSAndrew Turner #define _ZVF1(f) ZVNF1 (f) 100*f3087befSAndrew Turner #define _ZVD1(f) ZVND1 (f) 101*f3087befSAndrew Turner #define _ZVF2(f) ZVNF2 (f) 102*f3087befSAndrew Turner #define _ZVD2(f) ZVND2 (f) 103*f3087befSAndrew Turner 104*f3087befSAndrew Turner #define _ZSVF1(f) ZSVF1 (f) 105*f3087befSAndrew Turner #define _ZSVF2(f) ZSVF2 (f) 106*f3087befSAndrew Turner #define _ZSVD1(f) ZSVD1 (f) 107*f3087befSAndrew Turner #define _ZSVD2(f) ZSVD2 (f) 108*f3087befSAndrew Turner 109*f3087befSAndrew Turner #include "test/ulp_funcs_gen.h" 110