zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

math-vector.h (14048B) - Raw


      1 /* Platform-specific SIMD declarations of math functions.
      2 
      3    Copyright (C) 2023-2025 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_hypot
    117 # define __DECL_SIMD_hypot __DECL_SIMD_aarch64
    118 # undef __DECL_SIMD_hypotf
    119 # define __DECL_SIMD_hypotf __DECL_SIMD_aarch64
    120 # undef __DECL_SIMD_log
    121 # define __DECL_SIMD_log __DECL_SIMD_aarch64
    122 # undef __DECL_SIMD_logf
    123 # define __DECL_SIMD_logf __DECL_SIMD_aarch64
    124 # undef __DECL_SIMD_log10
    125 # define __DECL_SIMD_log10 __DECL_SIMD_aarch64
    126 # undef __DECL_SIMD_log10f
    127 # define __DECL_SIMD_log10f __DECL_SIMD_aarch64
    128 # undef __DECL_SIMD_log1p
    129 # define __DECL_SIMD_log1p __DECL_SIMD_aarch64
    130 # undef __DECL_SIMD_log1pf
    131 # define __DECL_SIMD_log1pf __DECL_SIMD_aarch64
    132 # undef __DECL_SIMD_log2
    133 # define __DECL_SIMD_log2 __DECL_SIMD_aarch64
    134 # undef __DECL_SIMD_log2f
    135 # define __DECL_SIMD_log2f __DECL_SIMD_aarch64
    136 # undef __DECL_SIMD_logp1
    137 # define __DECL_SIMD_logp1 __DECL_SIMD_aarch64
    138 # undef __DECL_SIMD_logp1f
    139 # define __DECL_SIMD_logp1f __DECL_SIMD_aarch64
    140 # undef __DECL_SIMD_pow
    141 # define __DECL_SIMD_pow __DECL_SIMD_aarch64
    142 # undef __DECL_SIMD_powf
    143 # define __DECL_SIMD_powf __DECL_SIMD_aarch64
    144 # undef __DECL_SIMD_sin
    145 # define __DECL_SIMD_sin __DECL_SIMD_aarch64
    146 # undef __DECL_SIMD_sinf
    147 # define __DECL_SIMD_sinf __DECL_SIMD_aarch64
    148 # undef __DECL_SIMD_sinh
    149 # define __DECL_SIMD_sinh __DECL_SIMD_aarch64
    150 # undef __DECL_SIMD_sinhf
    151 # define __DECL_SIMD_sinhf __DECL_SIMD_aarch64
    152 # undef __DECL_SIMD_sinpi
    153 # define __DECL_SIMD_sinpi __DECL_SIMD_aarch64
    154 # undef __DECL_SIMD_sinpif
    155 # define __DECL_SIMD_sinpif __DECL_SIMD_aarch64
    156 # undef __DECL_SIMD_tan
    157 # define __DECL_SIMD_tan __DECL_SIMD_aarch64
    158 # undef __DECL_SIMD_tanf
    159 # define __DECL_SIMD_tanf __DECL_SIMD_aarch64
    160 # undef __DECL_SIMD_tanh
    161 # define __DECL_SIMD_tanh __DECL_SIMD_aarch64
    162 # undef __DECL_SIMD_tanhf
    163 # define __DECL_SIMD_tanhf __DECL_SIMD_aarch64
    164 # undef __DECL_SIMD_tanpi
    165 # define __DECL_SIMD_tanpi __DECL_SIMD_aarch64
    166 # undef __DECL_SIMD_tanpif
    167 # define __DECL_SIMD_tanpif __DECL_SIMD_aarch64
    168 #endif
    169 
    170 #if __GNUC_PREREQ(9, 0)
    171 #  define __ADVSIMD_VEC_MATH_SUPPORTED
    172 typedef __Float32x4_t __f32x4_t;
    173 typedef __Float64x2_t __f64x2_t;
    174 #elif __glibc_clang_prereq(8, 0)
    175 #  define __ADVSIMD_VEC_MATH_SUPPORTED
    176 typedef __attribute__ ((__neon_vector_type__ (4))) float __f32x4_t;
    177 typedef __attribute__ ((__neon_vector_type__ (2))) double __f64x2_t;
    178 #endif
    179 
    180 #if __GNUC_PREREQ(10, 0) || __glibc_clang_prereq(11, 0)
    181 #  define __SVE_VEC_MATH_SUPPORTED
    182 typedef __SVFloat32_t __sv_f32_t;
    183 typedef __SVFloat64_t __sv_f64_t;
    184 typedef __SVBool_t __sv_bool_t;
    185 #endif
    186 
    187 /* If vector types and vector PCS are unsupported in the working
    188    compiler, no choice but to omit vector math declarations.  */
    189 
    190 #ifdef __ADVSIMD_VEC_MATH_SUPPORTED
    191 
    192 #  define __vpcs __attribute__ ((__aarch64_vector_pcs__))
    193 
    194 __vpcs __f32x4_t _ZGVnN4vv_atan2f (__f32x4_t, __f32x4_t);
    195 __vpcs __f32x4_t _ZGVnN4vv_atan2pif (__f32x4_t, __f32x4_t);
    196 __vpcs __f32x4_t _ZGVnN4v_acosf (__f32x4_t);
    197 __vpcs __f32x4_t _ZGVnN4v_acoshf (__f32x4_t);
    198 __vpcs __f32x4_t _ZGVnN4v_acospif (__f32x4_t);
    199 __vpcs __f32x4_t _ZGVnN4v_asinf (__f32x4_t);
    200 __vpcs __f32x4_t _ZGVnN4v_asinhf (__f32x4_t);
    201 __vpcs __f32x4_t _ZGVnN4v_asinpif (__f32x4_t);
    202 __vpcs __f32x4_t _ZGVnN4v_atanf (__f32x4_t);
    203 __vpcs __f32x4_t _ZGVnN4v_atanhf (__f32x4_t);
    204 __vpcs __f32x4_t _ZGVnN4v_atanpif (__f32x4_t);
    205 __vpcs __f32x4_t _ZGVnN4v_cbrtf (__f32x4_t);
    206 __vpcs __f32x4_t _ZGVnN4v_cosf (__f32x4_t);
    207 __vpcs __f32x4_t _ZGVnN4v_coshf (__f32x4_t);
    208 __vpcs __f32x4_t _ZGVnN4v_cospif (__f32x4_t);
    209 __vpcs __f32x4_t _ZGVnN4v_erff (__f32x4_t);
    210 __vpcs __f32x4_t _ZGVnN4v_erfcf (__f32x4_t);
    211 __vpcs __f32x4_t _ZGVnN4v_expf (__f32x4_t);
    212 __vpcs __f32x4_t _ZGVnN4v_exp10f (__f32x4_t);
    213 __vpcs __f32x4_t _ZGVnN4v_exp2f (__f32x4_t);
    214 __vpcs __f32x4_t _ZGVnN4v_expm1f (__f32x4_t);
    215 __vpcs __f32x4_t _ZGVnN4vv_hypotf (__f32x4_t, __f32x4_t);
    216 __vpcs __f32x4_t _ZGVnN4v_logf (__f32x4_t);
    217 __vpcs __f32x4_t _ZGVnN4v_log10f (__f32x4_t);
    218 __vpcs __f32x4_t _ZGVnN4v_log1pf (__f32x4_t);
    219 __vpcs __f32x4_t _ZGVnN4v_log2f (__f32x4_t);
    220 __vpcs __f32x4_t _ZGVnN4v_logp1f (__f32x4_t);
    221 __vpcs __f32x4_t _ZGVnN4vv_powf (__f32x4_t, __f32x4_t);
    222 __vpcs __f32x4_t _ZGVnN4v_sinf (__f32x4_t);
    223 __vpcs __f32x4_t _ZGVnN4v_sinhf (__f32x4_t);
    224 __vpcs __f32x4_t _ZGVnN4v_sinpif (__f32x4_t);
    225 __vpcs __f32x4_t _ZGVnN4v_tanf (__f32x4_t);
    226 __vpcs __f32x4_t _ZGVnN4v_tanhf (__f32x4_t);
    227 __vpcs __f32x4_t _ZGVnN4v_tanpif (__f32x4_t);
    228 
    229 __vpcs __f64x2_t _ZGVnN2vv_atan2 (__f64x2_t, __f64x2_t);
    230 __vpcs __f64x2_t _ZGVnN2vv_atan2pi (__f64x2_t, __f64x2_t);
    231 __vpcs __f64x2_t _ZGVnN2v_acos (__f64x2_t);
    232 __vpcs __f64x2_t _ZGVnN2v_acosh (__f64x2_t);
    233 __vpcs __f64x2_t _ZGVnN2v_acospi (__f64x2_t);
    234 __vpcs __f64x2_t _ZGVnN2v_asin (__f64x2_t);
    235 __vpcs __f64x2_t _ZGVnN2v_asinh (__f64x2_t);
    236 __vpcs __f64x2_t _ZGVnN2v_asinpi (__f64x2_t);
    237 __vpcs __f64x2_t _ZGVnN2v_atan (__f64x2_t);
    238 __vpcs __f64x2_t _ZGVnN2v_atanh (__f64x2_t);
    239 __vpcs __f64x2_t _ZGVnN2v_atanpi (__f64x2_t);
    240 __vpcs __f64x2_t _ZGVnN2v_cbrt (__f64x2_t);
    241 __vpcs __f64x2_t _ZGVnN2v_cos (__f64x2_t);
    242 __vpcs __f64x2_t _ZGVnN2v_cosh (__f64x2_t);
    243 __vpcs __f64x2_t _ZGVnN2v_cospi (__f64x2_t);
    244 __vpcs __f64x2_t _ZGVnN2v_erf (__f64x2_t);
    245 __vpcs __f64x2_t _ZGVnN2v_erfc (__f64x2_t);
    246 __vpcs __f64x2_t _ZGVnN2v_exp (__f64x2_t);
    247 __vpcs __f64x2_t _ZGVnN2v_exp10 (__f64x2_t);
    248 __vpcs __f64x2_t _ZGVnN2v_exp2 (__f64x2_t);
    249 __vpcs __f64x2_t _ZGVnN2v_expm1 (__f64x2_t);
    250 __vpcs __f64x2_t _ZGVnN2vv_hypot (__f64x2_t, __f64x2_t);
    251 __vpcs __f64x2_t _ZGVnN2v_log (__f64x2_t);
    252 __vpcs __f64x2_t _ZGVnN2v_log10 (__f64x2_t);
    253 __vpcs __f64x2_t _ZGVnN2v_log1p (__f64x2_t);
    254 __vpcs __f64x2_t _ZGVnN2v_log2 (__f64x2_t);
    255 __vpcs __f64x2_t _ZGVnN2v_logp1 (__f64x2_t);
    256 __vpcs __f64x2_t _ZGVnN2vv_pow (__f64x2_t, __f64x2_t);
    257 __vpcs __f64x2_t _ZGVnN2v_sin (__f64x2_t);
    258 __vpcs __f64x2_t _ZGVnN2v_sinh (__f64x2_t);
    259 __vpcs __f64x2_t _ZGVnN2v_sinpi (__f64x2_t);
    260 __vpcs __f64x2_t _ZGVnN2v_tan (__f64x2_t);
    261 __vpcs __f64x2_t _ZGVnN2v_tanh (__f64x2_t);
    262 __vpcs __f64x2_t _ZGVnN2v_tanpi (__f64x2_t);
    263 
    264 #  undef __ADVSIMD_VEC_MATH_SUPPORTED
    265 #endif /* __ADVSIMD_VEC_MATH_SUPPORTED */
    266 
    267 #ifdef __SVE_VEC_MATH_SUPPORTED
    268 
    269 __sv_f32_t _ZGVsMxvv_atan2f (__sv_f32_t, __sv_f32_t, __sv_bool_t);
    270 __sv_f32_t _ZGVsMxvv_atan2pif (__sv_f32_t, __sv_f32_t, __sv_bool_t);
    271 __sv_f32_t _ZGVsMxv_acosf (__sv_f32_t, __sv_bool_t);
    272 __sv_f32_t _ZGVsMxv_acoshf (__sv_f32_t, __sv_bool_t);
    273 __sv_f32_t _ZGVsMxv_acospif (__sv_f32_t, __sv_bool_t);
    274 __sv_f32_t _ZGVsMxv_asinf (__sv_f32_t, __sv_bool_t);
    275 __sv_f32_t _ZGVsMxv_asinhf (__sv_f32_t, __sv_bool_t);
    276 __sv_f32_t _ZGVsMxv_asinpif (__sv_f32_t, __sv_bool_t);
    277 __sv_f32_t _ZGVsMxv_atanf (__sv_f32_t, __sv_bool_t);
    278 __sv_f32_t _ZGVsMxv_atanhf (__sv_f32_t, __sv_bool_t);
    279 __sv_f32_t _ZGVsMxv_atanpif (__sv_f32_t, __sv_bool_t);
    280 __sv_f32_t _ZGVsMxv_cbrtf (__sv_f32_t, __sv_bool_t);
    281 __sv_f32_t _ZGVsMxv_cosf (__sv_f32_t, __sv_bool_t);
    282 __sv_f32_t _ZGVsMxv_coshf (__sv_f32_t, __sv_bool_t);
    283 __sv_f32_t _ZGVsMxv_cospif (__sv_f32_t, __sv_bool_t);
    284 __sv_f32_t _ZGVsMxv_erff (__sv_f32_t, __sv_bool_t);
    285 __sv_f32_t _ZGVsMxv_erfcf (__sv_f32_t, __sv_bool_t);
    286 __sv_f32_t _ZGVsMxv_expf (__sv_f32_t, __sv_bool_t);
    287 __sv_f32_t _ZGVsMxv_exp10f (__sv_f32_t, __sv_bool_t);
    288 __sv_f32_t _ZGVsMxv_exp2f (__sv_f32_t, __sv_bool_t);
    289 __sv_f32_t _ZGVsMxv_expm1f (__sv_f32_t, __sv_bool_t);
    290 __sv_f32_t _ZGVsMxvv_hypotf (__sv_f32_t, __sv_f32_t, __sv_bool_t);
    291 __sv_f32_t _ZGVsMxv_logf (__sv_f32_t, __sv_bool_t);
    292 __sv_f32_t _ZGVsMxv_log10f (__sv_f32_t, __sv_bool_t);
    293 __sv_f32_t _ZGVsMxv_log1pf (__sv_f32_t, __sv_bool_t);
    294 __sv_f32_t _ZGVsMxv_log2f (__sv_f32_t, __sv_bool_t);
    295 __sv_f32_t _ZGVsMxv_logp1f (__sv_f32_t, __sv_bool_t);
    296 __sv_f32_t _ZGVsMxvv_powf (__sv_f32_t, __sv_f32_t, __sv_bool_t);
    297 __sv_f32_t _ZGVsMxv_sinf (__sv_f32_t, __sv_bool_t);
    298 __sv_f32_t _ZGVsMxv_sinhf (__sv_f32_t, __sv_bool_t);
    299 __sv_f32_t _ZGVsMxv_sinpif (__sv_f32_t, __sv_bool_t);
    300 __sv_f32_t _ZGVsMxv_tanf (__sv_f32_t, __sv_bool_t);
    301 __sv_f32_t _ZGVsMxv_tanhf (__sv_f32_t, __sv_bool_t);
    302 __sv_f32_t _ZGVsMxv_tanpif (__sv_f32_t, __sv_bool_t);
    303 
    304 __sv_f64_t _ZGVsMxvv_atan2 (__sv_f64_t, __sv_f64_t, __sv_bool_t);
    305 __sv_f64_t _ZGVsMxvv_atan2pi (__sv_f64_t, __sv_f64_t, __sv_bool_t);
    306 __sv_f64_t _ZGVsMxv_acos (__sv_f64_t, __sv_bool_t);
    307 __sv_f64_t _ZGVsMxv_acosh (__sv_f64_t, __sv_bool_t);
    308 __sv_f64_t _ZGVsMxv_acospi (__sv_f64_t, __sv_bool_t);
    309 __sv_f64_t _ZGVsMxv_asin (__sv_f64_t, __sv_bool_t);
    310 __sv_f64_t _ZGVsMxv_asinh (__sv_f64_t, __sv_bool_t);
    311 __sv_f64_t _ZGVsMxv_asinpi (__sv_f64_t, __sv_bool_t);
    312 __sv_f64_t _ZGVsMxv_atan (__sv_f64_t, __sv_bool_t);
    313 __sv_f64_t _ZGVsMxv_atanh (__sv_f64_t, __sv_bool_t);
    314 __sv_f64_t _ZGVsMxv_atanpi (__sv_f64_t, __sv_bool_t);
    315 __sv_f64_t _ZGVsMxv_cbrt (__sv_f64_t, __sv_bool_t);
    316 __sv_f64_t _ZGVsMxv_cos (__sv_f64_t, __sv_bool_t);
    317 __sv_f64_t _ZGVsMxv_cosh (__sv_f64_t, __sv_bool_t);
    318 __sv_f64_t _ZGVsMxv_cospi (__sv_f64_t, __sv_bool_t);
    319 __sv_f64_t _ZGVsMxv_erf (__sv_f64_t, __sv_bool_t);
    320 __sv_f64_t _ZGVsMxv_erfc (__sv_f64_t, __sv_bool_t);
    321 __sv_f64_t _ZGVsMxv_exp (__sv_f64_t, __sv_bool_t);
    322 __sv_f64_t _ZGVsMxv_exp10 (__sv_f64_t, __sv_bool_t);
    323 __sv_f64_t _ZGVsMxv_exp2 (__sv_f64_t, __sv_bool_t);
    324 __sv_f64_t _ZGVsMxv_expm1 (__sv_f64_t, __sv_bool_t);
    325 __sv_f64_t _ZGVsMxvv_hypot (__sv_f64_t, __sv_f64_t, __sv_bool_t);
    326 __sv_f64_t _ZGVsMxv_log (__sv_f64_t, __sv_bool_t);
    327 __sv_f64_t _ZGVsMxv_log10 (__sv_f64_t, __sv_bool_t);
    328 __sv_f64_t _ZGVsMxv_log1p (__sv_f64_t, __sv_bool_t);
    329 __sv_f64_t _ZGVsMxv_log2 (__sv_f64_t, __sv_bool_t);
    330 __sv_f64_t _ZGVsMxv_logp1 (__sv_f64_t, __sv_bool_t);
    331 __sv_f64_t _ZGVsMxvv_pow (__sv_f64_t, __sv_f64_t, __sv_bool_t);
    332 __sv_f64_t _ZGVsMxv_sin (__sv_f64_t, __sv_bool_t);
    333 __sv_f64_t _ZGVsMxv_sinh (__sv_f64_t, __sv_bool_t);
    334 __sv_f64_t _ZGVsMxv_sinpi (__sv_f64_t, __sv_bool_t);
    335 __sv_f64_t _ZGVsMxv_tan (__sv_f64_t, __sv_bool_t);
    336 __sv_f64_t _ZGVsMxv_tanh (__sv_f64_t, __sv_bool_t);
    337 __sv_f64_t _ZGVsMxv_tanpi (__sv_f64_t, __sv_bool_t);
    338 
    339 #  undef __SVE_VEC_MATH_SUPPORTED
    340 #endif /* __SVE_VEC_MATH_SUPPORTED */