1*072a4ba8SAndrew Turner /* 2*072a4ba8SAndrew Turner * Function entries for mathbench. 3*072a4ba8SAndrew Turner * 4*072a4ba8SAndrew Turner * Copyright (c) 2022, Arm Limited. 5*072a4ba8SAndrew Turner * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6*072a4ba8SAndrew Turner */ 7*072a4ba8SAndrew Turner D (exp, -9.9, 9.9) 8*072a4ba8SAndrew Turner D (exp, 0.5, 1.0) 9*072a4ba8SAndrew Turner D (exp2, -9.9, 9.9) 10*072a4ba8SAndrew Turner D (log, 0.01, 11.1) 11*072a4ba8SAndrew Turner D (log, 0.999, 1.001) 12*072a4ba8SAndrew Turner D (log2, 0.01, 11.1) 13*072a4ba8SAndrew Turner D (log2, 0.999, 1.001) 14*072a4ba8SAndrew Turner {"pow", 'd', 0, 0.01, 11.1, {.d = xypow}}, 15*072a4ba8SAndrew Turner D (xpow, 0.01, 11.1) 16*072a4ba8SAndrew Turner D (ypow, -9.9, 9.9) 17*072a4ba8SAndrew Turner D (erf, -6.0, 6.0) 18*072a4ba8SAndrew Turner 19*072a4ba8SAndrew Turner F (expf, -9.9, 9.9) 20*072a4ba8SAndrew Turner F (exp2f, -9.9, 9.9) 21*072a4ba8SAndrew Turner F (logf, 0.01, 11.1) 22*072a4ba8SAndrew Turner F (log2f, 0.01, 11.1) 23*072a4ba8SAndrew Turner {"powf", 'f', 0, 0.01, 11.1, {.f = xypowf}}, 24*072a4ba8SAndrew Turner F (xpowf, 0.01, 11.1) 25*072a4ba8SAndrew Turner F (ypowf, -9.9, 9.9) 26*072a4ba8SAndrew Turner {"sincosf", 'f', 0, 0.1, 0.7, {.f = sincosf_wrap}}, 27*072a4ba8SAndrew Turner {"sincosf", 'f', 0, 0.8, 3.1, {.f = sincosf_wrap}}, 28*072a4ba8SAndrew Turner {"sincosf", 'f', 0, -3.1, 3.1, {.f = sincosf_wrap}}, 29*072a4ba8SAndrew Turner {"sincosf", 'f', 0, 3.3, 33.3, {.f = sincosf_wrap}}, 30*072a4ba8SAndrew Turner {"sincosf", 'f', 0, 100, 1000, {.f = sincosf_wrap}}, 31*072a4ba8SAndrew Turner {"sincosf", 'f', 0, 1e6, 1e32, {.f = sincosf_wrap}}, 32*072a4ba8SAndrew Turner F (sinf, 0.1, 0.7) 33*072a4ba8SAndrew Turner F (sinf, 0.8, 3.1) 34*072a4ba8SAndrew Turner F (sinf, -3.1, 3.1) 35*072a4ba8SAndrew Turner F (sinf, 3.3, 33.3) 36*072a4ba8SAndrew Turner F (sinf, 100, 1000) 37*072a4ba8SAndrew Turner F (sinf, 1e6, 1e32) 38*072a4ba8SAndrew Turner F (cosf, 0.1, 0.7) 39*072a4ba8SAndrew Turner F (cosf, 0.8, 3.1) 40*072a4ba8SAndrew Turner F (cosf, -3.1, 3.1) 41*072a4ba8SAndrew Turner F (cosf, 3.3, 33.3) 42*072a4ba8SAndrew Turner F (cosf, 100, 1000) 43*072a4ba8SAndrew Turner F (cosf, 1e6, 1e32) 44*072a4ba8SAndrew Turner F (erff, -4.0, 4.0) 45*072a4ba8SAndrew Turner #if WANT_VMATH 46*072a4ba8SAndrew Turner D (__s_sin, -3.1, 3.1) 47*072a4ba8SAndrew Turner D (__s_cos, -3.1, 3.1) 48*072a4ba8SAndrew Turner D (__s_exp, -9.9, 9.9) 49*072a4ba8SAndrew Turner D (__s_log, 0.01, 11.1) 50*072a4ba8SAndrew Turner {"__s_pow", 'd', 0, 0.01, 11.1, {.d = xy__s_pow}}, 51*072a4ba8SAndrew Turner F (__s_expf, -9.9, 9.9) 52*072a4ba8SAndrew Turner F (__s_expf_1u, -9.9, 9.9) 53*072a4ba8SAndrew Turner F (__s_exp2f, -9.9, 9.9) 54*072a4ba8SAndrew Turner F (__s_exp2f_1u, -9.9, 9.9) 55*072a4ba8SAndrew Turner F (__s_logf, 0.01, 11.1) 56*072a4ba8SAndrew Turner {"__s_powf", 'f', 0, 0.01, 11.1, {.f = xy__s_powf}}, 57*072a4ba8SAndrew Turner F (__s_sinf, -3.1, 3.1) 58*072a4ba8SAndrew Turner F (__s_cosf, -3.1, 3.1) 59*072a4ba8SAndrew Turner #if __aarch64__ 60*072a4ba8SAndrew Turner VD (__v_sin, -3.1, 3.1) 61*072a4ba8SAndrew Turner VD (__v_cos, -3.1, 3.1) 62*072a4ba8SAndrew Turner VD (__v_exp, -9.9, 9.9) 63*072a4ba8SAndrew Turner VD (__v_log, 0.01, 11.1) 64*072a4ba8SAndrew Turner {"__v_pow", 'd', 'v', 0.01, 11.1, {.vd = xy__v_pow}}, 65*072a4ba8SAndrew Turner VF (__v_expf, -9.9, 9.9) 66*072a4ba8SAndrew Turner VF (__v_expf_1u, -9.9, 9.9) 67*072a4ba8SAndrew Turner VF (__v_exp2f, -9.9, 9.9) 68*072a4ba8SAndrew Turner VF (__v_exp2f_1u, -9.9, 9.9) 69*072a4ba8SAndrew Turner VF (__v_logf, 0.01, 11.1) 70*072a4ba8SAndrew Turner {"__v_powf", 'f', 'v', 0.01, 11.1, {.vf = xy__v_powf}}, 71*072a4ba8SAndrew Turner VF (__v_sinf, -3.1, 3.1) 72*072a4ba8SAndrew Turner VF (__v_cosf, -3.1, 3.1) 73*072a4ba8SAndrew Turner #ifdef __vpcs 74*072a4ba8SAndrew Turner VND (__vn_exp, -9.9, 9.9) 75*072a4ba8SAndrew Turner VND (_ZGVnN2v_exp, -9.9, 9.9) 76*072a4ba8SAndrew Turner VND (__vn_log, 0.01, 11.1) 77*072a4ba8SAndrew Turner VND (_ZGVnN2v_log, 0.01, 11.1) 78*072a4ba8SAndrew Turner {"__vn_pow", 'd', 'n', 0.01, 11.1, {.vnd = xy__vn_pow}}, 79*072a4ba8SAndrew Turner {"_ZGVnN2vv_pow", 'd', 'n', 0.01, 11.1, {.vnd = xy_Z_pow}}, 80*072a4ba8SAndrew Turner VND (__vn_sin, -3.1, 3.1) 81*072a4ba8SAndrew Turner VND (_ZGVnN2v_sin, -3.1, 3.1) 82*072a4ba8SAndrew Turner VND (__vn_cos, -3.1, 3.1) 83*072a4ba8SAndrew Turner VND (_ZGVnN2v_cos, -3.1, 3.1) 84*072a4ba8SAndrew Turner VNF (__vn_expf, -9.9, 9.9) 85*072a4ba8SAndrew Turner VNF (_ZGVnN4v_expf, -9.9, 9.9) 86*072a4ba8SAndrew Turner VNF (__vn_expf_1u, -9.9, 9.9) 87*072a4ba8SAndrew Turner VNF (__vn_exp2f, -9.9, 9.9) 88*072a4ba8SAndrew Turner VNF (_ZGVnN4v_exp2f, -9.9, 9.9) 89*072a4ba8SAndrew Turner VNF (__vn_exp2f_1u, -9.9, 9.9) 90*072a4ba8SAndrew Turner VNF (__vn_logf, 0.01, 11.1) 91*072a4ba8SAndrew Turner VNF (_ZGVnN4v_logf, 0.01, 11.1) 92*072a4ba8SAndrew Turner {"__vn_powf", 'f', 'n', 0.01, 11.1, {.vnf = xy__vn_powf}}, 93*072a4ba8SAndrew Turner {"_ZGVnN4vv_powf", 'f', 'n', 0.01, 11.1, {.vnf = xy_Z_powf}}, 94*072a4ba8SAndrew Turner VNF (__vn_sinf, -3.1, 3.1) 95*072a4ba8SAndrew Turner VNF (_ZGVnN4v_sinf, -3.1, 3.1) 96*072a4ba8SAndrew Turner VNF (__vn_cosf, -3.1, 3.1) 97*072a4ba8SAndrew Turner VNF (_ZGVnN4v_cosf, -3.1, 3.1) 98*072a4ba8SAndrew Turner #endif 99*072a4ba8SAndrew Turner #endif 100*072a4ba8SAndrew Turner #endif 101