| 1 | /* Platform-specific SIMD declarations of math functions. |
| 2 | |
| 3 | Copyright (C) 2023-2026 Free Software Foundation, Inc. |
| 4 | This file is part of the GNU C Library. |
| 5 | |
| 6 | The GNU C Library is free software; you can redistribute it and/or |
| 7 | modify it under the terms of the GNU Lesser General Public |
| 8 | License as published by the Free Software Foundation; either |
| 9 | version 2.1 of the License, or (at your option) any later version. |
| 10 | |
| 11 | The GNU C Library is distributed in the hope that it will be useful, |
| 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 14 | Lesser General Public License for more details. |
| 15 | |
| 16 | You should have received a copy of the GNU Lesser General Public |
| 17 | License along with the GNU C Library; if not, see |
| 18 | <https://www.gnu.org/licenses/>. */ |
| 19 | |
| 20 | #ifndef _MATH_H |
| 21 | # error "Never include <bits/math-vector.h> directly;\ |
| 22 | include <math.h> instead." |
| 23 | #endif |
| 24 | |
| 25 | /* Get default empty definitions for simd declarations. */ |
| 26 | #include <bits/libm-simd-decl-stubs.h> |
| 27 | |
| 28 | #if defined __aarch64__ && defined __FAST_MATH__ && __GNUC_PREREQ (6, 0) |
| 29 | /* Requires GCC >= 6 for __attribute__ ((__simd__)). */ |
| 30 | # define __DECL_SIMD_aarch64 __attribute__ ((__simd__ ("notinbranch"), const)) |
| 31 | |
| 32 | # undef __DECL_SIMD_acos |
| 33 | # define __DECL_SIMD_acos __DECL_SIMD_aarch64 |
| 34 | # undef __DECL_SIMD_acosf |
| 35 | # define __DECL_SIMD_acosf __DECL_SIMD_aarch64 |
| 36 | # undef __DECL_SIMD_acosh |
| 37 | # define __DECL_SIMD_acosh __DECL_SIMD_aarch64 |
| 38 | # undef __DECL_SIMD_acoshf |
| 39 | # define __DECL_SIMD_acoshf __DECL_SIMD_aarch64 |
| 40 | # undef __DECL_SIMD_acospi |
| 41 | # define __DECL_SIMD_acospi __DECL_SIMD_aarch64 |
| 42 | # undef __DECL_SIMD_acospif |
| 43 | # define __DECL_SIMD_acospif __DECL_SIMD_aarch64 |
| 44 | # undef __DECL_SIMD_asin |
| 45 | # define __DECL_SIMD_asin __DECL_SIMD_aarch64 |
| 46 | # undef __DECL_SIMD_asinf |
| 47 | # define __DECL_SIMD_asinf __DECL_SIMD_aarch64 |
| 48 | # undef __DECL_SIMD_asinh |
| 49 | # define __DECL_SIMD_asinh __DECL_SIMD_aarch64 |
| 50 | # undef __DECL_SIMD_asinhf |
| 51 | # define __DECL_SIMD_asinhf __DECL_SIMD_aarch64 |
| 52 | # undef __DECL_SIMD_asinpi |
| 53 | # define __DECL_SIMD_asinpi __DECL_SIMD_aarch64 |
| 54 | # undef __DECL_SIMD_asinpif |
| 55 | # define __DECL_SIMD_asinpif __DECL_SIMD_aarch64 |
| 56 | # undef __DECL_SIMD_atan |
| 57 | # define __DECL_SIMD_atan __DECL_SIMD_aarch64 |
| 58 | # undef __DECL_SIMD_atanf |
| 59 | # define __DECL_SIMD_atanf __DECL_SIMD_aarch64 |
| 60 | # undef __DECL_SIMD_atanh |
| 61 | # define __DECL_SIMD_atanh __DECL_SIMD_aarch64 |
| 62 | # undef __DECL_SIMD_atanhf |
| 63 | # define __DECL_SIMD_atanhf __DECL_SIMD_aarch64 |
| 64 | # undef __DECL_SIMD_atanpi |
| 65 | # define __DECL_SIMD_atanpi __DECL_SIMD_aarch64 |
| 66 | # undef __DECL_SIMD_atanpif |
| 67 | # define __DECL_SIMD_atanpif __DECL_SIMD_aarch64 |
| 68 | # undef __DECL_SIMD_atan2 |
| 69 | # define __DECL_SIMD_atan2 __DECL_SIMD_aarch64 |
| 70 | # undef __DECL_SIMD_atan2f |
| 71 | # define __DECL_SIMD_atan2f __DECL_SIMD_aarch64 |
| 72 | # undef __DECL_SIMD_atan2pi |
| 73 | # define __DECL_SIMD_atan2pi __DECL_SIMD_aarch64 |
| 74 | # undef __DECL_SIMD_atan2pif |
| 75 | # define __DECL_SIMD_atan2pif __DECL_SIMD_aarch64 |
| 76 | # undef __DECL_SIMD_cbrt |
| 77 | # define __DECL_SIMD_cbrt __DECL_SIMD_aarch64 |
| 78 | # undef __DECL_SIMD_cbrtf |
| 79 | # define __DECL_SIMD_cbrtf __DECL_SIMD_aarch64 |
| 80 | # undef __DECL_SIMD_cos |
| 81 | # define __DECL_SIMD_cos __DECL_SIMD_aarch64 |
| 82 | # undef __DECL_SIMD_cosf |
| 83 | # define __DECL_SIMD_cosf __DECL_SIMD_aarch64 |
| 84 | # undef __DECL_SIMD_cosh |
| 85 | # define __DECL_SIMD_cosh __DECL_SIMD_aarch64 |
| 86 | # undef __DECL_SIMD_coshf |
| 87 | # define __DECL_SIMD_coshf __DECL_SIMD_aarch64 |
| 88 | # undef __DECL_SIMD_cospi |
| 89 | # define __DECL_SIMD_cospi __DECL_SIMD_aarch64 |
| 90 | # undef __DECL_SIMD_cospif |
| 91 | # define __DECL_SIMD_cospif __DECL_SIMD_aarch64 |
| 92 | # undef __DECL_SIMD_erf |
| 93 | # define __DECL_SIMD_erf __DECL_SIMD_aarch64 |
| 94 | # undef __DECL_SIMD_erff |
| 95 | # define __DECL_SIMD_erff __DECL_SIMD_aarch64 |
| 96 | # undef __DECL_SIMD_erfc |
| 97 | # define __DECL_SIMD_erfc __DECL_SIMD_aarch64 |
| 98 | # undef __DECL_SIMD_erfcf |
| 99 | # define __DECL_SIMD_erfcf __DECL_SIMD_aarch64 |
| 100 | # undef __DECL_SIMD_exp |
| 101 | # define __DECL_SIMD_exp __DECL_SIMD_aarch64 |
| 102 | # undef __DECL_SIMD_expf |
| 103 | # define __DECL_SIMD_expf __DECL_SIMD_aarch64 |
| 104 | # undef __DECL_SIMD_exp10 |
| 105 | # define __DECL_SIMD_exp10 __DECL_SIMD_aarch64 |
| 106 | # undef __DECL_SIMD_exp10f |
| 107 | # define __DECL_SIMD_exp10f __DECL_SIMD_aarch64 |
| 108 | # undef __DECL_SIMD_exp2 |
| 109 | # define __DECL_SIMD_exp2 __DECL_SIMD_aarch64 |
| 110 | # undef __DECL_SIMD_exp2f |
| 111 | # define __DECL_SIMD_exp2f __DECL_SIMD_aarch64 |
| 112 | # undef __DECL_SIMD_expm1 |
| 113 | # define __DECL_SIMD_expm1 __DECL_SIMD_aarch64 |
| 114 | # undef __DECL_SIMD_expm1f |
| 115 | # define __DECL_SIMD_expm1f __DECL_SIMD_aarch64 |
| 116 | # undef __DECL_SIMD_exp2m1 |
| 117 | # define __DECL_SIMD_exp2m1 __DECL_SIMD_aarch64 |
| 118 | # undef __DECL_SIMD_exp2m1f |
| 119 | # define __DECL_SIMD_exp2m1f __DECL_SIMD_aarch64 |
| 120 | # undef __DECL_SIMD_exp10m1 |
| 121 | # define __DECL_SIMD_exp10m1 __DECL_SIMD_aarch64 |
| 122 | # undef __DECL_SIMD_exp10m1f |
| 123 | # define __DECL_SIMD_exp10m1f __DECL_SIMD_aarch64 |
| 124 | # undef __DECL_SIMD_hypot |
| 125 | # define __DECL_SIMD_hypot __DECL_SIMD_aarch64 |
| 126 | # undef __DECL_SIMD_hypotf |
| 127 | # define __DECL_SIMD_hypotf __DECL_SIMD_aarch64 |
| 128 | # undef __DECL_SIMD_log |
| 129 | # define __DECL_SIMD_log __DECL_SIMD_aarch64 |
| 130 | # undef __DECL_SIMD_logf |
| 131 | # define __DECL_SIMD_logf __DECL_SIMD_aarch64 |
| 132 | # undef __DECL_SIMD_log10 |
| 133 | # define __DECL_SIMD_log10 __DECL_SIMD_aarch64 |
| 134 | # undef __DECL_SIMD_log10f |
| 135 | # define __DECL_SIMD_log10f __DECL_SIMD_aarch64 |
| 136 | # undef __DECL_SIMD_log10p1 |
| 137 | # define __DECL_SIMD_log10p1 __DECL_SIMD_aarch64 |
| 138 | # undef __DECL_SIMD_log10p1f |
| 139 | # define __DECL_SIMD_log10p1f __DECL_SIMD_aarch64 |
| 140 | # undef __DECL_SIMD_log1p |
| 141 | # define __DECL_SIMD_log1p __DECL_SIMD_aarch64 |
| 142 | # undef __DECL_SIMD_log1pf |
| 143 | # define __DECL_SIMD_log1pf __DECL_SIMD_aarch64 |
| 144 | # undef __DECL_SIMD_log2 |
| 145 | # define __DECL_SIMD_log2 __DECL_SIMD_aarch64 |
| 146 | # undef __DECL_SIMD_log2f |
| 147 | # define __DECL_SIMD_log2f __DECL_SIMD_aarch64 |
| 148 | # undef __DECL_SIMD_log2p1 |
| 149 | # define __DECL_SIMD_log2p1 __DECL_SIMD_aarch64 |
| 150 | # undef __DECL_SIMD_log2p1f |
| 151 | # define __DECL_SIMD_log2p1f __DECL_SIMD_aarch64 |
| 152 | # undef __DECL_SIMD_logp1 |
| 153 | # define __DECL_SIMD_logp1 __DECL_SIMD_aarch64 |
| 154 | # undef __DECL_SIMD_logp1f |
| 155 | # define __DECL_SIMD_logp1f __DECL_SIMD_aarch64 |
| 156 | # undef __DECL_SIMD_pow |
| 157 | # define __DECL_SIMD_pow __DECL_SIMD_aarch64 |
| 158 | # undef __DECL_SIMD_powf |
| 159 | # define __DECL_SIMD_powf __DECL_SIMD_aarch64 |
| 160 | # undef __DECL_SIMD_powr |
| 161 | # define __DECL_SIMD_powr __DECL_SIMD_aarch64 |
| 162 | # undef __DECL_SIMD_powrf |
| 163 | # define __DECL_SIMD_powrf __DECL_SIMD_aarch64 |
| 164 | # undef __DECL_SIMD_rsqrt |
| 165 | # define __DECL_SIMD_rsqrt __DECL_SIMD_aarch64 |
| 166 | # undef __DECL_SIMD_rsqrtf |
| 167 | # define __DECL_SIMD_rsqrtf __DECL_SIMD_aarch64 |
| 168 | # undef __DECL_SIMD_sin |
| 169 | # define __DECL_SIMD_sin __DECL_SIMD_aarch64 |
| 170 | # undef __DECL_SIMD_sinf |
| 171 | # define __DECL_SIMD_sinf __DECL_SIMD_aarch64 |
| 172 | # undef __DECL_SIMD_sinh |
| 173 | # define __DECL_SIMD_sinh __DECL_SIMD_aarch64 |
| 174 | # undef __DECL_SIMD_sinhf |
| 175 | # define __DECL_SIMD_sinhf __DECL_SIMD_aarch64 |
| 176 | # undef __DECL_SIMD_sinpi |
| 177 | # define __DECL_SIMD_sinpi __DECL_SIMD_aarch64 |
| 178 | # undef __DECL_SIMD_sinpif |
| 179 | # define __DECL_SIMD_sinpif __DECL_SIMD_aarch64 |
| 180 | # undef __DECL_SIMD_tan |
| 181 | # define __DECL_SIMD_tan __DECL_SIMD_aarch64 |
| 182 | # undef __DECL_SIMD_tanf |
| 183 | # define __DECL_SIMD_tanf __DECL_SIMD_aarch64 |
| 184 | # undef __DECL_SIMD_tanh |
| 185 | # define __DECL_SIMD_tanh __DECL_SIMD_aarch64 |
| 186 | # undef __DECL_SIMD_tanhf |
| 187 | # define __DECL_SIMD_tanhf __DECL_SIMD_aarch64 |
| 188 | # undef __DECL_SIMD_tanpi |
| 189 | # define __DECL_SIMD_tanpi __DECL_SIMD_aarch64 |
| 190 | # undef __DECL_SIMD_tanpif |
| 191 | # define __DECL_SIMD_tanpif __DECL_SIMD_aarch64 |
| 192 | #endif |
| 193 | |
| 194 | #if __GNUC_PREREQ(9, 0) |
| 195 | # define __ADVSIMD_VEC_MATH_SUPPORTED |
| 196 | typedef __Float32x4_t __f32x4_t; |
| 197 | typedef __Float64x2_t __f64x2_t; |
| 198 | #elif __glibc_clang_prereq(8, 0) |
| 199 | # define __ADVSIMD_VEC_MATH_SUPPORTED |
| 200 | typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t; |
| 201 | typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t; |
| 202 | #endif |
| 203 | |
| 204 | #if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0) |
| 205 | # define __SVE_VEC_MATH_SUPPORTED |
| 206 | typedef __SVFloat32_t __sv_f32_t; |
| 207 | typedef __SVFloat64_t __sv_f64_t; |
| 208 | typedef __SVBool_t __sv_bool_t; |
| 209 | #endif |
| 210 | |
| 211 | /* If vector types and vector PCS are unsupported in the working |
| 212 | compiler, no choice but to omit vector math declarations. */ |
| 213 | |
| 214 | #ifdef __ADVSIMD_VEC_MATH_SUPPORTED |
| 215 | |
| 216 | # define __vpcs __attribute__ ((__aarch64_vector_pcs__)) |
| 217 | |
| 218 | __vpcs __f32x4_t _ZGVnN4vv_atan2f (__f32x4_t, __f32x4_t); |
| 219 | __vpcs __f32x4_t _ZGVnN4vv_atan2pif (__f32x4_t, __f32x4_t); |
| 220 | __vpcs __f32x4_t _ZGVnN4v_acosf (__f32x4_t); |
| 221 | __vpcs __f32x4_t _ZGVnN4v_acoshf (__f32x4_t); |
| 222 | __vpcs __f32x4_t _ZGVnN4v_acospif (__f32x4_t); |
| 223 | __vpcs __f32x4_t _ZGVnN4v_asinf (__f32x4_t); |
| 224 | __vpcs __f32x4_t _ZGVnN4v_asinhf (__f32x4_t); |
| 225 | __vpcs __f32x4_t _ZGVnN4v_asinpif (__f32x4_t); |
| 226 | __vpcs __f32x4_t _ZGVnN4v_atanf (__f32x4_t); |
| 227 | __vpcs __f32x4_t _ZGVnN4v_atanhf (__f32x4_t); |
| 228 | __vpcs __f32x4_t _ZGVnN4v_atanpif (__f32x4_t); |
| 229 | __vpcs __f32x4_t _ZGVnN4v_cbrtf (__f32x4_t); |
| 230 | __vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t); |
| 231 | __vpcs __f32x4_t _ZGVnN4v_coshf (__f32x4_t); |
| 232 | __vpcs __f32x4_t _ZGVnN4v_cospif (__f32x4_t); |
| 233 | __vpcs __f32x4_t _ZGVnN4v_erff (__f32x4_t); |
| 234 | __vpcs __f32x4_t _ZGVnN4v_erfcf (__f32x4_t); |
| 235 | __vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t); |
| 236 | __vpcs __f32x4_t _ZGVnN4v_exp10f (__f32x4_t); |
| 237 | __vpcs __f32x4_t _ZGVnN4v_exp2f (__f32x4_t); |
| 238 | __vpcs __f32x4_t _ZGVnN4v_expm1f (__f32x4_t); |
| 239 | __vpcs __f32x4_t _ZGVnN4v_exp2m1f (__f32x4_t); |
| 240 | __vpcs __f32x4_t _ZGVnN4v_exp10m1f (__f32x4_t); |
| 241 | __vpcs __f32x4_t _ZGVnN4vv_hypotf (__f32x4_t, __f32x4_t); |
| 242 | __vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t); |
| 243 | __vpcs __f32x4_t _ZGVnN4v_log10f (__f32x4_t); |
| 244 | __vpcs __f32x4_t _ZGVnN4v_log10p1f (__f32x4_t); |
| 245 | __vpcs __f32x4_t _ZGVnN4v_log1pf (__f32x4_t); |
| 246 | __vpcs __f32x4_t _ZGVnN4v_log2f (__f32x4_t); |
| 247 | __vpcs __f32x4_t _ZGVnN4v_log2p1f (__f32x4_t); |
| 248 | __vpcs __f32x4_t _ZGVnN4v_logp1f (__f32x4_t); |
| 249 | __vpcs __f32x4_t _ZGVnN4vv_powf (__f32x4_t, __f32x4_t); |
| 250 | __vpcs __f32x4_t _ZGVnN4vv_powrf (__f32x4_t, __f32x4_t); |
| 251 | __vpcs __f32x4_t _ZGVnN4v_rsqrtf (__f32x4_t); |
| 252 | __vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t); |
| 253 | __vpcs __f32x4_t _ZGVnN4v_sinhf (__f32x4_t); |
| 254 | __vpcs __f32x4_t _ZGVnN4v_sinpif (__f32x4_t); |
| 255 | __vpcs __f32x4_t _ZGVnN4v_tanf (__f32x4_t); |
| 256 | __vpcs __f32x4_t _ZGVnN4v_tanhf (__f32x4_t); |
| 257 | __vpcs __f32x4_t _ZGVnN4v_tanpif (__f32x4_t); |
| 258 | |
| 259 | __vpcs __f64x2_t _ZGVnN2vv_atan2 (__f64x2_t, __f64x2_t); |
| 260 | __vpcs __f64x2_t _ZGVnN2vv_atan2pi (__f64x2_t, __f64x2_t); |
| 261 | __vpcs __f64x2_t _ZGVnN2v_acos (__f64x2_t); |
| 262 | __vpcs __f64x2_t _ZGVnN2v_acosh (__f64x2_t); |
| 263 | __vpcs __f64x2_t _ZGVnN2v_acospi (__f64x2_t); |
| 264 | __vpcs __f64x2_t _ZGVnN2v_asin (__f64x2_t); |
| 265 | __vpcs __f64x2_t _ZGVnN2v_asinh (__f64x2_t); |
| 266 | __vpcs __f64x2_t _ZGVnN2v_asinpi (__f64x2_t); |
| 267 | __vpcs __f64x2_t _ZGVnN2v_atan (__f64x2_t); |
| 268 | __vpcs __f64x2_t _ZGVnN2v_atanh (__f64x2_t); |
| 269 | __vpcs __f64x2_t _ZGVnN2v_atanpi (__f64x2_t); |
| 270 | __vpcs __f64x2_t _ZGVnN2v_cbrt (__f64x2_t); |
| 271 | __vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t); |
| 272 | __vpcs __f64x2_t _ZGVnN2v_cosh (__f64x2_t); |
| 273 | __vpcs __f64x2_t _ZGVnN2v_cospi (__f64x2_t); |
| 274 | __vpcs __f64x2_t _ZGVnN2v_erf (__f64x2_t); |
| 275 | __vpcs __f64x2_t _ZGVnN2v_erfc (__f64x2_t); |
| 276 | __vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t); |
| 277 | __vpcs __f64x2_t _ZGVnN2v_exp10 (__f64x2_t); |
| 278 | __vpcs __f64x2_t _ZGVnN2v_exp2 (__f64x2_t); |
| 279 | __vpcs __f64x2_t _ZGVnN2v_expm1 (__f64x2_t); |
| 280 | __vpcs __f64x2_t _ZGVnN2v_exp2m1 (__f64x2_t); |
| 281 | __vpcs __f64x2_t _ZGVnN2v_exp10m1 (__f64x2_t); |
| 282 | __vpcs __f64x2_t _ZGVnN2vv_hypot (__f64x2_t, __f64x2_t); |
| 283 | __vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t); |
| 284 | __vpcs __f64x2_t _ZGVnN2v_log10 (__f64x2_t); |
| 285 | __vpcs __f64x2_t _ZGVnN2v_log10p1 (__f64x2_t); |
| 286 | __vpcs __f64x2_t _ZGVnN2v_log1p (__f64x2_t); |
| 287 | __vpcs __f64x2_t _ZGVnN2v_log2 (__f64x2_t); |
| 288 | __vpcs __f64x2_t _ZGVnN2v_log2p1 (__f64x2_t); |
| 289 | __vpcs __f64x2_t _ZGVnN2v_logp1 (__f64x2_t); |
| 290 | __vpcs __f64x2_t _ZGVnN2vv_pow (__f64x2_t, __f64x2_t); |
| 291 | __vpcs __f64x2_t _ZGVnN2vv_powr (__f64x2_t, __f64x2_t); |
| 292 | __vpcs __f64x2_t _ZGVnN2v_rsqrt (__f64x2_t); |
| 293 | __vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t); |
| 294 | __vpcs __f64x2_t _ZGVnN2v_sinh (__f64x2_t); |
| 295 | __vpcs __f64x2_t _ZGVnN2v_sinpi (__f64x2_t); |
| 296 | __vpcs __f64x2_t _ZGVnN2v_tan (__f64x2_t); |
| 297 | __vpcs __f64x2_t _ZGVnN2v_tanh (__f64x2_t); |
| 298 | __vpcs __f64x2_t _ZGVnN2v_tanpi (__f64x2_t); |
| 299 | |
| 300 | # undef __ADVSIMD_VEC_MATH_SUPPORTED |
| 301 | #endif /* __ADVSIMD_VEC_MATH_SUPPORTED */ |
| 302 | |
| 303 | #ifdef __SVE_VEC_MATH_SUPPORTED |
| 304 | |
| 305 | __sv_f32_t _ZGVsMxvv_atan2f (__sv_f32_t, __sv_f32_t, __sv_bool_t); |
| 306 | __sv_f32_t _ZGVsMxvv_atan2pif (__sv_f32_t, __sv_f32_t, __sv_bool_t); |
| 307 | __sv_f32_t _ZGVsMxv_acosf (__sv_f32_t, __sv_bool_t); |
| 308 | __sv_f32_t _ZGVsMxv_acoshf (__sv_f32_t, __sv_bool_t); |
| 309 | __sv_f32_t _ZGVsMxv_acospif (__sv_f32_t, __sv_bool_t); |
| 310 | __sv_f32_t _ZGVsMxv_asinf (__sv_f32_t, __sv_bool_t); |
| 311 | __sv_f32_t _ZGVsMxv_asinhf (__sv_f32_t, __sv_bool_t); |
| 312 | __sv_f32_t _ZGVsMxv_asinpif (__sv_f32_t, __sv_bool_t); |
| 313 | __sv_f32_t _ZGVsMxv_atanf (__sv_f32_t, __sv_bool_t); |
| 314 | __sv_f32_t _ZGVsMxv_atanhf (__sv_f32_t, __sv_bool_t); |
| 315 | __sv_f32_t _ZGVsMxv_atanpif (__sv_f32_t, __sv_bool_t); |
| 316 | __sv_f32_t _ZGVsMxv_cbrtf (__sv_f32_t, __sv_bool_t); |
| 317 | __sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t); |
| 318 | __sv_f32_t _ZGVsMxv_coshf (__sv_f32_t, __sv_bool_t); |
| 319 | __sv_f32_t _ZGVsMxv_cospif (__sv_f32_t, __sv_bool_t); |
| 320 | __sv_f32_t _ZGVsMxv_erff (__sv_f32_t, __sv_bool_t); |
| 321 | __sv_f32_t _ZGVsMxv_erfcf (__sv_f32_t, __sv_bool_t); |
| 322 | __sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t); |
| 323 | __sv_f32_t _ZGVsMxv_exp10f (__sv_f32_t, __sv_bool_t); |
| 324 | __sv_f32_t _ZGVsMxv_exp2f (__sv_f32_t, __sv_bool_t); |
| 325 | __sv_f32_t _ZGVsMxv_expm1f (__sv_f32_t, __sv_bool_t); |
| 326 | __sv_f32_t _ZGVsMxv_exp2m1f (__sv_f32_t, __sv_bool_t); |
| 327 | __sv_f32_t _ZGVsMxv_exp10m1f (__sv_f32_t, __sv_bool_t); |
| 328 | __sv_f32_t _ZGVsMxvv_hypotf (__sv_f32_t, __sv_f32_t, __sv_bool_t); |
| 329 | __sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t); |
| 330 | __sv_f32_t _ZGVsMxv_log10f (__sv_f32_t, __sv_bool_t); |
| 331 | __sv_f32_t _ZGVsMxv_log10p1f (__sv_f32_t, __sv_bool_t); |
| 332 | __sv_f32_t _ZGVsMxv_log1pf (__sv_f32_t, __sv_bool_t); |
| 333 | __sv_f32_t _ZGVsMxv_log2f (__sv_f32_t, __sv_bool_t); |
| 334 | __sv_f32_t _ZGVsMxv_log2p1f (__sv_f32_t, __sv_bool_t); |
| 335 | __sv_f32_t _ZGVsMxv_logp1f (__sv_f32_t, __sv_bool_t); |
| 336 | __sv_f32_t _ZGVsMxvv_powf (__sv_f32_t, __sv_f32_t, __sv_bool_t); |
| 337 | __sv_f32_t _ZGVsMxvv_powrf (__sv_f32_t, __sv_f32_t, __sv_bool_t); |
| 338 | __sv_f32_t _ZGVsMxv_rsqrtf (__sv_f32_t, __sv_bool_t); |
| 339 | __sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t); |
| 340 | __sv_f32_t _ZGVsMxv_sinhf (__sv_f32_t, __sv_bool_t); |
| 341 | __sv_f32_t _ZGVsMxv_sinpif (__sv_f32_t, __sv_bool_t); |
| 342 | __sv_f32_t _ZGVsMxv_tanf (__sv_f32_t, __sv_bool_t); |
| 343 | __sv_f32_t _ZGVsMxv_tanhf (__sv_f32_t, __sv_bool_t); |
| 344 | __sv_f32_t _ZGVsMxv_tanpif (__sv_f32_t, __sv_bool_t); |
| 345 | |
| 346 | __sv_f64_t _ZGVsMxvv_atan2 (__sv_f64_t, __sv_f64_t, __sv_bool_t); |
| 347 | __sv_f64_t _ZGVsMxvv_atan2pi (__sv_f64_t, __sv_f64_t, __sv_bool_t); |
| 348 | __sv_f64_t _ZGVsMxv_acos (__sv_f64_t, __sv_bool_t); |
| 349 | __sv_f64_t _ZGVsMxv_acosh (__sv_f64_t, __sv_bool_t); |
| 350 | __sv_f64_t _ZGVsMxv_acospi (__sv_f64_t, __sv_bool_t); |
| 351 | __sv_f64_t _ZGVsMxv_asin (__sv_f64_t, __sv_bool_t); |
| 352 | __sv_f64_t _ZGVsMxv_asinh (__sv_f64_t, __sv_bool_t); |
| 353 | __sv_f64_t _ZGVsMxv_asinpi (__sv_f64_t, __sv_bool_t); |
| 354 | __sv_f64_t _ZGVsMxv_atan (__sv_f64_t, __sv_bool_t); |
| 355 | __sv_f64_t _ZGVsMxv_atanh (__sv_f64_t, __sv_bool_t); |
| 356 | __sv_f64_t _ZGVsMxv_atanpi (__sv_f64_t, __sv_bool_t); |
| 357 | __sv_f64_t _ZGVsMxv_cbrt (__sv_f64_t, __sv_bool_t); |
| 358 | __sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t); |
| 359 | __sv_f64_t _ZGVsMxv_cosh (__sv_f64_t, __sv_bool_t); |
| 360 | __sv_f64_t _ZGVsMxv_cospi (__sv_f64_t, __sv_bool_t); |
| 361 | __sv_f64_t _ZGVsMxv_erf (__sv_f64_t, __sv_bool_t); |
| 362 | __sv_f64_t _ZGVsMxv_erfc (__sv_f64_t, __sv_bool_t); |
| 363 | __sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t); |
| 364 | __sv_f64_t _ZGVsMxv_exp10 (__sv_f64_t, __sv_bool_t); |
| 365 | __sv_f64_t _ZGVsMxv_exp2 (__sv_f64_t, __sv_bool_t); |
| 366 | __sv_f64_t _ZGVsMxv_expm1 (__sv_f64_t, __sv_bool_t); |
| 367 | __sv_f64_t _ZGVsMxv_exp2m1 (__sv_f64_t, __sv_bool_t); |
| 368 | __sv_f64_t _ZGVsMxv_exp10m1 (__sv_f64_t, __sv_bool_t); |
| 369 | __sv_f64_t _ZGVsMxvv_hypot (__sv_f64_t, __sv_f64_t, __sv_bool_t); |
| 370 | __sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t); |
| 371 | __sv_f64_t _ZGVsMxv_log10 (__sv_f64_t, __sv_bool_t); |
| 372 | __sv_f64_t _ZGVsMxv_log10p1 (__sv_f64_t, __sv_bool_t); |
| 373 | __sv_f64_t _ZGVsMxv_log1p (__sv_f64_t, __sv_bool_t); |
| 374 | __sv_f64_t _ZGVsMxv_log2 (__sv_f64_t, __sv_bool_t); |
| 375 | __sv_f64_t _ZGVsMxv_log2p1 (__sv_f64_t, __sv_bool_t); |
| 376 | __sv_f64_t _ZGVsMxv_logp1 (__sv_f64_t, __sv_bool_t); |
| 377 | __sv_f64_t _ZGVsMxvv_pow (__sv_f64_t, __sv_f64_t, __sv_bool_t); |
| 378 | __sv_f64_t _ZGVsMxvv_powr (__sv_f64_t, __sv_f64_t, __sv_bool_t); |
| 379 | __sv_f64_t _ZGVsMxv_rsqrt (__sv_f64_t, __sv_bool_t); |
| 380 | __sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t); |
| 381 | __sv_f64_t _ZGVsMxv_sinh (__sv_f64_t, __sv_bool_t); |
| 382 | __sv_f64_t _ZGVsMxv_sinpi (__sv_f64_t, __sv_bool_t); |
| 383 | __sv_f64_t _ZGVsMxv_tan (__sv_f64_t, __sv_bool_t); |
| 384 | __sv_f64_t _ZGVsMxv_tanh (__sv_f64_t, __sv_bool_t); |
| 385 | __sv_f64_t _ZGVsMxv_tanpi (__sv_f64_t, __sv_bool_t); |
| 386 | |
| 387 | # undef __SVE_VEC_MATH_SUPPORTED |
| 388 | #endif /* __SVE_VEC_MATH_SUPPORTED */ |