xref: /aosp_15_r20/external/arm-optimized-routines/pl/math/test/ulp_funcs.h (revision 412f47f9e737e10ed5cc46ec6a8d7fa2264f8a14)
1*412f47f9SXin Li /*
2*412f47f9SXin Li  * Function entries for ulp.
3*412f47f9SXin Li  *
4*412f47f9SXin Li  * Copyright (c) 2022-2024, Arm Limited.
5*412f47f9SXin Li  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6*412f47f9SXin Li  */
7*412f47f9SXin Li 
8*412f47f9SXin Li #if defined(__vpcs) && __aarch64__
9*412f47f9SXin Li 
10*412f47f9SXin Li #define _ZVF1(f) ZVNF1 (f)
11*412f47f9SXin Li #define _ZVD1(f) ZVND1 (f)
12*412f47f9SXin Li #define _ZVF2(f) ZVNF2 (f)
13*412f47f9SXin Li #define _ZVD2(f) ZVND2 (f)
14*412f47f9SXin Li 
15*412f47f9SXin Li #else
16*412f47f9SXin Li 
17*412f47f9SXin Li #define _ZVF1(f)
18*412f47f9SXin Li #define _ZVD1(f)
19*412f47f9SXin Li #define _ZVF2(f)
20*412f47f9SXin Li #define _ZVD2(f)
21*412f47f9SXin Li 
22*412f47f9SXin Li #endif
23*412f47f9SXin Li 
24*412f47f9SXin Li #if WANT_SVE_MATH
25*412f47f9SXin Li 
26*412f47f9SXin Li #define _ZSVF1(f) ZSVF1 (f)
27*412f47f9SXin Li #define _ZSVF2(f) ZSVF2 (f)
28*412f47f9SXin Li #define _ZSVD1(f) ZSVD1 (f)
29*412f47f9SXin Li #define _ZSVD2(f) ZSVD2 (f)
30*412f47f9SXin Li 
31*412f47f9SXin Li #else
32*412f47f9SXin Li 
33*412f47f9SXin Li #define _ZSVF1(f)
34*412f47f9SXin Li #define _ZSVF2(f)
35*412f47f9SXin Li #define _ZSVD1(f)
36*412f47f9SXin Li #define _ZSVD2(f)
37*412f47f9SXin Li 
38*412f47f9SXin Li #endif
39*412f47f9SXin Li 
40*412f47f9SXin Li #define _ZSF1(f) F1 (f)
41*412f47f9SXin Li #define _ZSF2(f) F2 (f)
42*412f47f9SXin Li #define _ZSD1(f) D1 (f)
43*412f47f9SXin Li #define _ZSD2(f) D2 (f)
44*412f47f9SXin Li 
45*412f47f9SXin Li #include "ulp_funcs_gen.h"
46*412f47f9SXin Li 
47*412f47f9SXin Li F (_ZGVnN4v_sincosf_sin, v_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0)
48*412f47f9SXin Li F (_ZGVnN4v_sincosf_cos, v_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0)
49*412f47f9SXin Li F (_ZGVnN4v_cexpif_sin, v_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0)
50*412f47f9SXin Li F (_ZGVnN4v_cexpif_cos, v_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0)
51*412f47f9SXin Li 
52*412f47f9SXin Li F (_ZGVnN2v_sincos_sin, v_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0)
53*412f47f9SXin Li F (_ZGVnN2v_sincos_cos, v_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0)
54*412f47f9SXin Li F (_ZGVnN2v_cexpi_sin, v_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0)
55*412f47f9SXin Li F (_ZGVnN2v_cexpi_cos, v_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0)
56*412f47f9SXin Li 
57*412f47f9SXin Li #if WANT_SVE_MATH
58*412f47f9SXin Li SVF (_ZGVsMxvv_powk, Z_sv_powk, ref_powi, mpfr_powi, 2, 0, d2, 0)
59*412f47f9SXin Li SVF (_ZGVsMxvv_powi, Z_sv_powi, ref_powif, mpfr_powi, 2, 1, f2, 0)
60*412f47f9SXin Li 
61*412f47f9SXin Li SVF (_ZGVsMxv_sincosf_sin, sv_sincosf_sin, sin, mpfr_sin, 1, 1, f1, 0)
62*412f47f9SXin Li SVF (_ZGVsMxv_sincosf_cos, sv_sincosf_cos, cos, mpfr_cos, 1, 1, f1, 0)
63*412f47f9SXin Li SVF (_ZGVsMxv_cexpif_sin, sv_cexpif_sin, sin, mpfr_sin, 1, 1, f1, 0)
64*412f47f9SXin Li SVF (_ZGVsMxv_cexpif_cos, sv_cexpif_cos, cos, mpfr_cos, 1, 1, f1, 0)
65*412f47f9SXin Li 
66*412f47f9SXin Li SVF (_ZGVsMxv_sincos_sin, sv_sincos_sin, sinl, mpfr_sin, 1, 0, d1, 0)
67*412f47f9SXin Li SVF (_ZGVsMxv_sincos_cos, sv_sincos_cos, cosl, mpfr_cos, 1, 0, d1, 0)
68*412f47f9SXin Li SVF (_ZGVsMxv_cexpi_sin, sv_cexpi_sin, sinl, mpfr_sin, 1, 0, d1, 0)
69*412f47f9SXin Li SVF (_ZGVsMxv_cexpi_cos, sv_cexpi_cos, cosl, mpfr_cos, 1, 0, d1, 0)
70*412f47f9SXin Li #endif
71