xref: /freebsd/contrib/arm-optimized-routines/pl/math/test/ulp_funcs.h (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1 /*
2  * Function entries for ulp.
3  *
4  * Copyright (c) 2022-2023, Arm Limited.
5  * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
6  */
7 
8 #ifdef __vpcs
9 
10 #define _ZVF1(f) SF1 (f) VF1 (f) ZVNF1 (f)
11 #define _ZVD1(f) SD1 (f) VD1 (f) ZVND1 (f)
12 #define _ZVF2(f) SF2 (f) VF2 (f) ZVNF2 (f)
13 #define _ZVD2(f) SD2 (f) VD2 (f) ZVND2 (f)
14 
15 #elif __aarch64
16 
17 #define _ZVF1(f) SF1 (f) VF1 (f)
18 #define _ZVD1(f) SD1 (f) VD1 (f)
19 #define _ZVF2(f) SF2 (f) VF2 (f)
20 #define _ZVD2(f) SD2 (f) VD2 (f)
21 
22 #elif WANT_VMATH
23 
24 #define _ZVF1(f) SF1 (f)
25 #define _ZVD1(f) SD1 (f)
26 #define _ZVF2(f) SF2 (f)
27 #define _ZVD2(f) SD2 (f)
28 
29 #else
30 
31 #define _ZVF1(f)
32 #define _ZVD1(f)
33 #define _ZVF2(f)
34 #define _ZVD2(f)
35 
36 #endif
37 
38 #if WANT_SVE_MATH
39 
40 #define _ZSVF1(f) SVF1 (f) ZSVF1 (f)
41 #define _ZSVF2(f) SVF2 (f) ZSVF2 (f)
42 #define _ZSVD1(f) SVD1 (f) ZSVD1 (f)
43 #define _ZSVD2(f) SVD2 (f) ZSVD2 (f)
44 
45 #else
46 
47 #define _ZSVF1(f)
48 #define _ZSVF2(f)
49 #define _ZSVD1(f)
50 #define _ZSVD2(f)
51 
52 #endif
53 
54 #define _ZSF1(f) F1 (f)
55 #define _ZSF2(f) F2 (f)
56 #define _ZSD1(f) D1 (f)
57 #define _ZSD2(f) D2 (f)
58 
59 #include "ulp_funcs_gen.h"
60 
61 #if WANT_SVE_MATH
62 F (__sv_powi, sv_powi, ref_powi, mpfr_powi, 2, 0, d2, 0)
63 F (_ZGVsMxvv_powk, Z_sv_powk, ref_powi, mpfr_powi, 2, 0, d2, 0)
64 F (__sv_powif, sv_powif, ref_powif, mpfr_powi, 2, 1, f2, 0)
65 F (_ZGVsMxvv_powi, Z_sv_powi, ref_powif, mpfr_powi, 2, 1, f2, 0)
66 #endif
67