xref: /aosp_15_r20/external/XNNPACK/src/xnnpack/math-stubs.h (revision 4bdc94577ba0e567308109d787f7fec7b531ce36)
1 // Copyright 2019 Google LLC
2 //
3 // This source code is licensed under the BSD-style license found in the
4 // LICENSE file in the root directory of this source tree.
5 
6 #pragma once
7 
8 #include <stdint.h>
9 #include <stddef.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 typedef void (*xnn_f16_unary_math_function)(
16   size_t n,
17   const void* input,
18   void* output);
19 
20 typedef void (*xnn_f32_unary_math_function)(
21   size_t n,
22   const float* input,
23   float* output);
24 
25 typedef void (*xnn_u32_unary_math_function)(
26   size_t n,
27   const uint32_t* input,
28   uint32_t* output);
29 
30 typedef void (*xnn_f32_ext_unary_math_function)(
31   size_t n,
32   const float* input,
33   float* output_mantissa,
34   float* output_exponent);
35 
36 #define DECLARE_F16_UNARY_MATH_FUNCTION(fn_name) \
37   void fn_name(                                  \
38     size_t n,                                    \
39     const void* input,                           \
40     void* output);
41 
42 #define DECLARE_F32_UNARY_MATH_FUNCTION(fn_name) \
43   void fn_name(                                  \
44     size_t n,                                    \
45     const float* input,                          \
46     float* output);
47 
48 #define DECLARE_U32_UNARY_MATH_FUNCTION(fn_name) \
49   void fn_name(                                  \
50     size_t n,                                    \
51     const uint32_t* input,                       \
52     uint32_t* output);
53 
54 #define DECLARE_U64_UNARY_MATH_FUNCTION(fn_name) \
55   void fn_name(                                  \
56     size_t n,                                    \
57     const uint64_t* input,                       \
58     uint64_t* output);
59 
60 #define DECLARE_F16_F32_CVT_MATH_FUNCTION(fn_name) \
61   void fn_name(                                    \
62     size_t n,                                      \
63     const void* input,                             \
64     float* output);
65 
66 #define DECLARE_F32_F16_CVT_MATH_FUNCTION(fn_name) \
67   void fn_name(                                    \
68     size_t n,                                      \
69     const float* input,                            \
70     void* output);
71 
72 #define DECLARE_F32_QS8_CVT_MATH_FUNCTION(fn_name) \
73   void fn_name(                                    \
74     size_t n,                                      \
75     const float* input,                            \
76     int8_t* output,                                \
77     int8_t output_zero_point);
78 
79 #define DECLARE_F32_QU8_CVT_MATH_FUNCTION(fn_name) \
80   void fn_name(                                    \
81     size_t n,                                      \
82     const float* input,                            \
83     uint8_t* output,                               \
84     uint8_t output_zero_point);
85 
86 #define DECLARE_F32_EXT_UNARY_MATH_FUNCTION(fn_name) \
87   void fn_name(                                      \
88     size_t n,                                        \
89     const float* input,                              \
90     float* output_mantissa,                          \
91     float* output_exponent);
92 
93 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__f16c)
94 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__neon_int16)
95 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__neon_int32)
96 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__neonfp16)
97 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__sse2_int16)
98 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__sse2_int32)
99 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__sse41_int16)
100 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__sse41_int32)
101 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__wasmsimd_int16)
102 DECLARE_F16_F32_CVT_MATH_FUNCTION(xnn_math_f16_f32_cvt__wasmsimd_int32)
103 
104 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__f16c)
105 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__neon)
106 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__neonfp16)
107 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__scalar_bitcast)
108 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__scalar_fabsf)
109 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__sse2)
110 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__sse41)
111 DECLARE_F32_F16_CVT_MATH_FUNCTION(xnn_math_f32_f16_cvt__wasmsimd)
112 
113 DECLARE_F32_QS8_CVT_MATH_FUNCTION(xnn_math_f32_qs8_cvt__neon)
114 DECLARE_F32_QS8_CVT_MATH_FUNCTION(xnn_math_f32_qs8_cvt__neonv8)
115 DECLARE_F32_QS8_CVT_MATH_FUNCTION(xnn_math_f32_qs8_cvt__wasmsimd)
116 
117 DECLARE_F32_QU8_CVT_MATH_FUNCTION(xnn_math_f32_qu8_cvt__neon)
118 DECLARE_F32_QU8_CVT_MATH_FUNCTION(xnn_math_f32_qu8_cvt__neonv8)
119 DECLARE_F32_QU8_CVT_MATH_FUNCTION(xnn_math_f32_qu8_cvt__wasmsimd)
120 
121 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__neon_addsub)
122 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__neonv8)
123 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__scalar_addsub)
124 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__scalar_nearbyint)
125 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__scalar_rint)
126 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__sse_addsub)
127 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__sse2_cvt)
128 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__sse41)
129 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__wasmsimd_addsub)
130 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundne__wasmsimd_native)
131 
132 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__neon_addsub)
133 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__neon_cvt)
134 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__neonv8)
135 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__scalar_addsub)
136 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__scalar_cvt)
137 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__scalar_floor)
138 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__sse_addsub)
139 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__sse2_cvt)
140 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__sse41)
141 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__wasmsimd_addsub)
142 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__wasmsimd_cvt)
143 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundd__wasmsimd_native)
144 
145 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__neon_addsub)
146 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__neon_cvt)
147 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__neonv8)
148 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__scalar_addsub)
149 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__scalar_ceil)
150 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__scalar_cvt)
151 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__sse_addsub)
152 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__sse2_cvt)
153 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__sse41)
154 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__wasmsimd_addsub)
155 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__wasmsimd_cvt)
156 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundu__wasmsimd_native)
157 
158 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__neon_addsub)
159 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__neon_cvt)
160 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__neonv8)
161 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__scalar_addsub)
162 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__scalar_cvt)
163 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__scalar_trunc)
164 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__sse_addsub)
165 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__sse2_cvt)
166 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__sse41)
167 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__wasmsimd_addsub)
168 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__wasmsimd_cvt)
169 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_roundz__wasmsimd_native)
170 
171 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_exp__neonfp16arith_rr2_p3)
172 
173 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx_rr2_p5)
174 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx2_rr2_lut8_p3_perm)
175 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx2_rr2_lut8_p4_perm)
176 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx2_rr2_p5)
177 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_lut16_p3_perm)
178 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_lut16_p3_perm_scalef)
179 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_lut32_p2_perm2)
180 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_lut32_p2_perm2_scalef)
181 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_p5)
182 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__avx512f_rr2_p5_scalef)
183 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__neonfma_rr2_lut64_p2)
184 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__neonfma_rr2_p5)
185 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__sse2_rr2_lut64_p2)
186 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_exp__sse2_rr2_p5)
187 
188 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__avx2_rr1_p2)
189 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__avx2_rr1_p3)
190 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__neonfp16arith_rr1_p2)
191 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__neonfp16arith_rr1_p3)
192 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__neonfp16arith_rr2_p2)
193 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expminus__neonfp16arith_rr2_p3)
194 
195 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__avx2_rr1_p5)
196 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__avx2_rr2_p5)
197 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__neonfma_rr2_lut64_p2)
198 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__neonfma_rr2_lut2048_p1)
199 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__neonfma_rr2_p5)
200 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__scalar_rr2_lut64_p2)
201 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__scalar_rr2_lut2048_p1)
202 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__scalar_rr2_p5)
203 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expminus__sse2_rr2_p5)
204 
205 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expm1minus__avx2_rr1_p3)
206 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expm1minus__neonfp16arith_rr1_p3)
207 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_expm1minus__neonfp16arith_rr2_p3)
208 
209 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx_rr2_lut4_p4_perm)
210 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx_rr2_lut16_p3)
211 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx_rr2_p6)
212 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx2_rr1_lut4_p4_perm)
213 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx2_rr1_lut8_p4_perm)
214 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx2_rr1_lut16_p3_gather)
215 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx2_rr1_p6)
216 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx512f_rr1_lut16_p3_perm)
217 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__avx512f_rr1_p6)
218 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__neon_rr2_lut16_p3)
219 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__neon_rr2_p6)
220 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__neonfma_rr1_lut16_p3)
221 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__neonfma_rr1_p6)
222 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_lut4_p4)
223 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_lut8_p3)
224 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_lut8_p4)
225 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_lut16_p3)
226 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_lut16_p4)
227 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_p5)
228 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__scalar_rr2_p6)
229 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__sse2_rr2_lut16_p3)
230 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__sse2_rr2_p6)
231 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__wasmsimd_rr2_lut16_p3_andnot)
232 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__wasmsimd_rr2_lut16_p3_max)
233 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__wasmsimd_rr2_p6_andnot)
234 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_expm1minus__wasmsimd_rr2_p6_max)
235 
236 DECLARE_F32_EXT_UNARY_MATH_FUNCTION(xnn_math_f32_extexp__avx2_p5)
237 DECLARE_F32_EXT_UNARY_MATH_FUNCTION(xnn_math_f32_extexp__avx512f_p5)
238 
239 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__avx2_rr1_p2_div)
240 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__avx2_rr1_p2_rcp)
241 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__avx2_rr1_p3_div)
242 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__avx2_rr1_p3_rcp)
243 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr1_p2_div)
244 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr1_p3_div)
245 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p2_div)
246 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p2_nr1fma)
247 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p2_nr1recps)
248 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p2_recpe)
249 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p3_div)
250 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p3_nr1fma)
251 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p3_nr1recps)
252 DECLARE_F16_UNARY_MATH_FUNCTION(xnn_math_f16_sigmoid__neonfp16arith_rr2_p3_recpe)
253 
254 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx_rr2_lut64_p2_div)
255 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx_rr2_p5_div)
256 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx_rr2_p5_nr1)
257 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx_rr2_p5_nr2)
258 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_lut64_p2_gather_div)
259 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_lut64_p2_gather_nr1fma)
260 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_lut64_p2_gather_nr2fma)
261 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_lut64_p2_gather_nr2fma1adj)
262 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_p5_div)
263 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_p5_nr1fma)
264 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr1_p5_nr2fma)
265 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_lut64_p2_gather_div)
266 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_lut64_p2_gather_nr1fma)
267 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_lut64_p2_gather_nr2fma)
268 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_lut64_p2_gather_nr2fma1adj)
269 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_p5_div)
270 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_p5_nr1fma)
271 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx2_rr2_p5_nr2fma)
272 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut16_p3_perm_scalef_div)
273 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut16_p3_perm_scalef_nr1fma)
274 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut16_p3_perm_scalef_nr1fma1adj)
275 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut32_p2_perm2_scalef_div)
276 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut32_p2_perm2_scalef_nr1fma)
277 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut32_p2_perm2_scalef_nr1fma1adj)
278 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut64_p2_gather_scalef_div)
279 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut64_p2_gather_scalef_nr1fma)
280 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_lut64_p2_gather_scalef_nr1fma1adj)
281 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_p5_scalef_div)
282 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_p5_scalef_nr1fma)
283 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr1_p5_scalef_nr1fma1adj)
284 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut16_p3_perm_scalef_div)
285 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut16_p3_perm_scalef_nr1fma)
286 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut16_p3_perm_scalef_nr1fma1adj)
287 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut32_p2_perm2_scalef_div)
288 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut32_p2_perm2_scalef_nr1fma)
289 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut32_p2_perm2_scalef_nr1fma1adj)
290 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut64_p2_gather_scalef_div)
291 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut64_p2_gather_scalef_nr1fma)
292 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_lut64_p2_gather_scalef_nr1fma1adj)
293 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_p5_scalef_div)
294 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_p5_scalef_nr1fma)
295 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__avx512f_rr2_p5_scalef_nr1fma1adj)
296 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_frac_p9_p10_nr1recps)
297 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr1_lut64_p2_nr2recps)
298 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr1_lut2048_p1_nr2recps)
299 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr1_p5_nr2recps)
300 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr2_lut64_p2_nr2recps)
301 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr2_lut2048_p1_nr2recps)
302 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neon_rr2_p5_nr2recps)
303 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut64_p2_div)
304 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut64_p2_nr1recps1fma)
305 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut64_p2_nr2fma)
306 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut64_p2_nr2recps)
307 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut2048_p1_div)
308 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut2048_p1_nr1recps1fma)
309 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut2048_p1_nr2fma)
310 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_lut2048_p1_nr2recps)
311 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_p5_div)
312 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_p5_nr1recps1fma)
313 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_p5_nr2fma)
314 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr1_p5_nr2recps)
315 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut64_p2_div)
316 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut64_p2_nr1recps1fma)
317 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut64_p2_nr2fma)
318 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut64_p2_nr2recps)
319 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut2048_p1_div)
320 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut2048_p1_nr1recps1fma)
321 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut2048_p1_nr2fma)
322 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_lut2048_p1_nr2recps)
323 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_p5_div)
324 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_p5_nr1recps1fma)
325 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_p5_nr2fma)
326 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__neonfma_rr2_p5_nr2recps)
327 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__scalar_rr2_lut64_p2_div)
328 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__scalar_rr2_lut2048_p1_div)
329 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__scalar_rr2_p5_div)
330 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_lut64_p2_div)
331 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_lut64_p2_nr1)
332 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_lut64_p2_nr2)
333 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_p5_div)
334 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_p5_nr1)
335 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__sse2_rr2_p5_nr2)
336 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__wasmsimd_rr2_lut64_p2_div)
337 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sigmoid__wasmsimd_rr2_p5_div)
338 
339 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__avx512f_nr1fma)
340 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__avx512f_nr1fma1adj)
341 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__avx512f_nr2fma)
342 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__fma3_nr1fma)
343 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__fma3_nr1fma1adj)
344 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__fma3_nr2fma)
345 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neon_nr1rsqrts)
346 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neon_nr2rsqrts)
347 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neon_nr3rsqrts)
348 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neonfma_nr1fma)
349 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neonfma_nr1rsqrts1fma1adj)
350 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neonfma_nr2fma)
351 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neonfma_nr2fma1adj)
352 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__neonfma_nr3fma)
353 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__sse_hh1mac)
354 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__sse_nr1mac)
355 DECLARE_F32_UNARY_MATH_FUNCTION(xnn_math_f32_sqrt__sse_nr2mac)
356 
357 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_bitmanip)
358 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_clz_binsearch)
359 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_clz_newton)
360 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvti32_sqrt_lrint)
361 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvti32_sqrtf_lrintf)
362 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvti64_sqrt_lrint)
363 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvti64_sqrtf_lrintf)
364 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvtu32_sqrt_lrint)
365 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_cvtu32_sqrtf_lrintf)
366 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_hashemian)
367 DECLARE_U32_UNARY_MATH_FUNCTION(xnn_math_u32_sqrt__scalar_tflm)
368 
369 DECLARE_U64_UNARY_MATH_FUNCTION(xnn_math_u64_sqrt__scalar_cvtu32_sqrt_cvtsatu32f64)
370 DECLARE_U64_UNARY_MATH_FUNCTION(xnn_math_u64_sqrt__scalar_cvtu32_sqrt_llrint)
371 DECLARE_U64_UNARY_MATH_FUNCTION(xnn_math_u64_sqrt__scalar_cvtu64_sqrt_llrint)
372 
373 #ifdef __cplusplus
374 } /* extern "C" */
375 #endif
376