1 /* Wrapper part of tests for AVX2 ISA versions of vector math functions.
2 Copyright (C) 2014-2024 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <https://www.gnu.org/licenses/>. */
19 #include "test-float-vlen8.h"
20 #include "test-math-vector-sincos.h"
21 #include <immintrin.h>
24 #define VEC_SUFF _vlen8_avx2
26 #define VEC_TYPE __m256
28 VECTOR_WRAPPER (WRAPPER_NAME (cosf
), _ZGVdN8v_cosf
)
29 VECTOR_WRAPPER (WRAPPER_NAME (sinf
), _ZGVdN8v_sinf
)
30 VECTOR_WRAPPER (WRAPPER_NAME (logf
), _ZGVdN8v_logf
)
31 VECTOR_WRAPPER (WRAPPER_NAME (expf
), _ZGVdN8v_expf
)
32 VECTOR_WRAPPER_ff (WRAPPER_NAME (powf
), _ZGVdN8vv_powf
)
33 VECTOR_WRAPPER (WRAPPER_NAME (acosf
), _ZGVdN8v_acosf
)
34 VECTOR_WRAPPER (WRAPPER_NAME (atanf
), _ZGVdN8v_atanf
)
35 VECTOR_WRAPPER (WRAPPER_NAME (asinf
), _ZGVdN8v_asinf
)
36 VECTOR_WRAPPER_ff (WRAPPER_NAME (hypotf
), _ZGVdN8vv_hypotf
)
37 VECTOR_WRAPPER (WRAPPER_NAME (exp2f
), _ZGVdN8v_exp2f
)
38 VECTOR_WRAPPER (WRAPPER_NAME (exp10f
), _ZGVdN8v_exp10f
)
39 VECTOR_WRAPPER (WRAPPER_NAME (coshf
), _ZGVdN8v_coshf
)
40 VECTOR_WRAPPER (WRAPPER_NAME (expm1f
), _ZGVdN8v_expm1f
)
41 VECTOR_WRAPPER (WRAPPER_NAME (sinhf
), _ZGVdN8v_sinhf
)
42 VECTOR_WRAPPER (WRAPPER_NAME (cbrtf
), _ZGVdN8v_cbrtf
)
43 VECTOR_WRAPPER_ff (WRAPPER_NAME (atan2f
), _ZGVdN8vv_atan2f
)
44 VECTOR_WRAPPER (WRAPPER_NAME (log10f
), _ZGVdN8v_log10f
)
45 VECTOR_WRAPPER (WRAPPER_NAME (log2f
), _ZGVdN8v_log2f
)
46 VECTOR_WRAPPER (WRAPPER_NAME (log1pf
), _ZGVdN8v_log1pf
)
47 VECTOR_WRAPPER (WRAPPER_NAME (atanhf
), _ZGVdN8v_atanhf
)
48 VECTOR_WRAPPER (WRAPPER_NAME (acoshf
), _ZGVdN8v_acoshf
)
49 VECTOR_WRAPPER (WRAPPER_NAME (erff
), _ZGVdN8v_erff
)
50 VECTOR_WRAPPER (WRAPPER_NAME (tanhf
), _ZGVdN8v_tanhf
)
51 VECTOR_WRAPPER (WRAPPER_NAME (asinhf
), _ZGVdN8v_asinhf
)
52 VECTOR_WRAPPER (WRAPPER_NAME (erfcf
), _ZGVdN8v_erfcf
)
53 VECTOR_WRAPPER (WRAPPER_NAME (tanf
), _ZGVdN8v_tanf
)
55 /* Redefinition of wrapper to be compatible with _ZGVdN8vvv_sincosf. */
56 #undef VECTOR_WRAPPER_fFF
58 #define VEC_INT_TYPE __m256i
61 VECTOR_WRAPPER_fFF_3 (WRAPPER_NAME (sincosf
), _ZGVdN8vvv_sincosf
)
63 VECTOR_WRAPPER_fFF_2 (WRAPPER_NAME (sincosf
), _ZGVdN8vvv_sincosf
)