1 #include "sleef.h"
2
3 #include "sleef_cl.h"
4
5
6 #ifdef SLEEF_VEC_128_AVAILABLE
7
Sleef_sinf4_u10(float4 x)8 _CL_ALWAYSINLINE float4 Sleef_sinf4_u10(float4 x)
9 {
10 union { float4 t; reg128f r; } x_in;
11 x_in.t = x;
12 union { float4 t; reg128f r; } ret;
13 ret.r = Sleef_sinf4_u10_intrin(x_in.r);
14 return ret.t;
15 }
16
Sleef_sinf4_u35(float4 x)17 _CL_ALWAYSINLINE float4 Sleef_sinf4_u35(float4 x)
18 {
19 union { float4 t; reg128f r; } x_in;
20 x_in.t = x;
21 union { float4 t; reg128f r; } ret;
22 ret.r = Sleef_sinf4_u35_intrin(x_in.r);
23 return ret.t;
24 }
25
26 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
27
Sleef_sind2_u10(double2 x)28 _CL_ALWAYSINLINE double2 Sleef_sind2_u10(double2 x)
29 {
30 union { double2 t; reg128d r; } x_in;
31 x_in.t = x;
32 union { double2 t; reg128d r; } ret;
33 ret.r = Sleef_sind2_u10_intrin(x_in.r);
34 return ret.t;
35 }
36
Sleef_sind2_u35(double2 x)37 _CL_ALWAYSINLINE double2 Sleef_sind2_u35(double2 x)
38 {
39 union { double2 t; reg128d r; } x_in;
40 x_in.t = x;
41 union { double2 t; reg128d r; } ret;
42 ret.r = Sleef_sind2_u35_intrin(x_in.r);
43 return ret.t;
44 }
45 #endif
46
47
Sleef_cosf4_u10(float4 x)48 _CL_ALWAYSINLINE float4 Sleef_cosf4_u10(float4 x)
49 {
50 union { float4 t; reg128f r; } x_in;
51 x_in.t = x;
52 union { float4 t; reg128f r; } ret;
53 ret.r = Sleef_cosf4_u10_intrin(x_in.r);
54 return ret.t;
55 }
56
Sleef_cosf4_u35(float4 x)57 _CL_ALWAYSINLINE float4 Sleef_cosf4_u35(float4 x)
58 {
59 union { float4 t; reg128f r; } x_in;
60 x_in.t = x;
61 union { float4 t; reg128f r; } ret;
62 ret.r = Sleef_cosf4_u35_intrin(x_in.r);
63 return ret.t;
64 }
65
66 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
67
Sleef_cosd2_u10(double2 x)68 _CL_ALWAYSINLINE double2 Sleef_cosd2_u10(double2 x)
69 {
70 union { double2 t; reg128d r; } x_in;
71 x_in.t = x;
72 union { double2 t; reg128d r; } ret;
73 ret.r = Sleef_cosd2_u10_intrin(x_in.r);
74 return ret.t;
75 }
76
Sleef_cosd2_u35(double2 x)77 _CL_ALWAYSINLINE double2 Sleef_cosd2_u35(double2 x)
78 {
79 union { double2 t; reg128d r; } x_in;
80 x_in.t = x;
81 union { double2 t; reg128d r; } ret;
82 ret.r = Sleef_cosd2_u35_intrin(x_in.r);
83 return ret.t;
84 }
85 #endif
86
87
Sleef_tanf4_u10(float4 x)88 _CL_ALWAYSINLINE float4 Sleef_tanf4_u10(float4 x)
89 {
90 union { float4 t; reg128f r; } x_in;
91 x_in.t = x;
92 union { float4 t; reg128f r; } ret;
93 ret.r = Sleef_tanf4_u10_intrin(x_in.r);
94 return ret.t;
95 }
96
Sleef_tanf4_u35(float4 x)97 _CL_ALWAYSINLINE float4 Sleef_tanf4_u35(float4 x)
98 {
99 union { float4 t; reg128f r; } x_in;
100 x_in.t = x;
101 union { float4 t; reg128f r; } ret;
102 ret.r = Sleef_tanf4_u35_intrin(x_in.r);
103 return ret.t;
104 }
105
106 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
107
Sleef_tand2_u10(double2 x)108 _CL_ALWAYSINLINE double2 Sleef_tand2_u10(double2 x)
109 {
110 union { double2 t; reg128d r; } x_in;
111 x_in.t = x;
112 union { double2 t; reg128d r; } ret;
113 ret.r = Sleef_tand2_u10_intrin(x_in.r);
114 return ret.t;
115 }
116
Sleef_tand2_u35(double2 x)117 _CL_ALWAYSINLINE double2 Sleef_tand2_u35(double2 x)
118 {
119 union { double2 t; reg128d r; } x_in;
120 x_in.t = x;
121 union { double2 t; reg128d r; } ret;
122 ret.r = Sleef_tand2_u35_intrin(x_in.r);
123 return ret.t;
124 }
125 #endif
126
127
Sleef_asinf4_u10(float4 x)128 _CL_ALWAYSINLINE float4 Sleef_asinf4_u10(float4 x)
129 {
130 union { float4 t; reg128f r; } x_in;
131 x_in.t = x;
132 union { float4 t; reg128f r; } ret;
133 ret.r = Sleef_asinf4_u10_intrin(x_in.r);
134 return ret.t;
135 }
136
Sleef_asinf4_u35(float4 x)137 _CL_ALWAYSINLINE float4 Sleef_asinf4_u35(float4 x)
138 {
139 union { float4 t; reg128f r; } x_in;
140 x_in.t = x;
141 union { float4 t; reg128f r; } ret;
142 ret.r = Sleef_asinf4_u35_intrin(x_in.r);
143 return ret.t;
144 }
145
146 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
147
Sleef_asind2_u10(double2 x)148 _CL_ALWAYSINLINE double2 Sleef_asind2_u10(double2 x)
149 {
150 union { double2 t; reg128d r; } x_in;
151 x_in.t = x;
152 union { double2 t; reg128d r; } ret;
153 ret.r = Sleef_asind2_u10_intrin(x_in.r);
154 return ret.t;
155 }
156
Sleef_asind2_u35(double2 x)157 _CL_ALWAYSINLINE double2 Sleef_asind2_u35(double2 x)
158 {
159 union { double2 t; reg128d r; } x_in;
160 x_in.t = x;
161 union { double2 t; reg128d r; } ret;
162 ret.r = Sleef_asind2_u35_intrin(x_in.r);
163 return ret.t;
164 }
165 #endif
166
167
Sleef_acosf4_u10(float4 x)168 _CL_ALWAYSINLINE float4 Sleef_acosf4_u10(float4 x)
169 {
170 union { float4 t; reg128f r; } x_in;
171 x_in.t = x;
172 union { float4 t; reg128f r; } ret;
173 ret.r = Sleef_acosf4_u10_intrin(x_in.r);
174 return ret.t;
175 }
176
Sleef_acosf4_u35(float4 x)177 _CL_ALWAYSINLINE float4 Sleef_acosf4_u35(float4 x)
178 {
179 union { float4 t; reg128f r; } x_in;
180 x_in.t = x;
181 union { float4 t; reg128f r; } ret;
182 ret.r = Sleef_acosf4_u35_intrin(x_in.r);
183 return ret.t;
184 }
185
186 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
187
Sleef_acosd2_u10(double2 x)188 _CL_ALWAYSINLINE double2 Sleef_acosd2_u10(double2 x)
189 {
190 union { double2 t; reg128d r; } x_in;
191 x_in.t = x;
192 union { double2 t; reg128d r; } ret;
193 ret.r = Sleef_acosd2_u10_intrin(x_in.r);
194 return ret.t;
195 }
196
Sleef_acosd2_u35(double2 x)197 _CL_ALWAYSINLINE double2 Sleef_acosd2_u35(double2 x)
198 {
199 union { double2 t; reg128d r; } x_in;
200 x_in.t = x;
201 union { double2 t; reg128d r; } ret;
202 ret.r = Sleef_acosd2_u35_intrin(x_in.r);
203 return ret.t;
204 }
205 #endif
206
207
Sleef_atanf4_u10(float4 x)208 _CL_ALWAYSINLINE float4 Sleef_atanf4_u10(float4 x)
209 {
210 union { float4 t; reg128f r; } x_in;
211 x_in.t = x;
212 union { float4 t; reg128f r; } ret;
213 ret.r = Sleef_atanf4_u10_intrin(x_in.r);
214 return ret.t;
215 }
216
Sleef_atanf4_u35(float4 x)217 _CL_ALWAYSINLINE float4 Sleef_atanf4_u35(float4 x)
218 {
219 union { float4 t; reg128f r; } x_in;
220 x_in.t = x;
221 union { float4 t; reg128f r; } ret;
222 ret.r = Sleef_atanf4_u35_intrin(x_in.r);
223 return ret.t;
224 }
225
226 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
227
Sleef_atand2_u10(double2 x)228 _CL_ALWAYSINLINE double2 Sleef_atand2_u10(double2 x)
229 {
230 union { double2 t; reg128d r; } x_in;
231 x_in.t = x;
232 union { double2 t; reg128d r; } ret;
233 ret.r = Sleef_atand2_u10_intrin(x_in.r);
234 return ret.t;
235 }
236
Sleef_atand2_u35(double2 x)237 _CL_ALWAYSINLINE double2 Sleef_atand2_u35(double2 x)
238 {
239 union { double2 t; reg128d r; } x_in;
240 x_in.t = x;
241 union { double2 t; reg128d r; } ret;
242 ret.r = Sleef_atand2_u35_intrin(x_in.r);
243 return ret.t;
244 }
245 #endif
246
247
Sleef_atan2f4_u10(float4 x,float4 y)248 _CL_ALWAYSINLINE float4 Sleef_atan2f4_u10(float4 x, float4 y)
249 {
250 union { float4 t; reg128f r; } x_in;
251 x_in.t = x;
252 union { float4 t; reg128f r; } y_in;
253 y_in.t = y;
254 union { float4 t; reg128f r; } ret;
255 ret.r = Sleef_atan2f4_u10_intrin(x_in.r, y_in.r);
256 return ret.t;
257 }
258
Sleef_atan2f4_u35(float4 x,float4 y)259 _CL_ALWAYSINLINE float4 Sleef_atan2f4_u35(float4 x, float4 y)
260 {
261 union { float4 t; reg128f r; } x_in;
262 x_in.t = x;
263 union { float4 t; reg128f r; } y_in;
264 y_in.t = y;
265 union { float4 t; reg128f r; } ret;
266 ret.r = Sleef_atan2f4_u35_intrin(x_in.r, y_in.r);
267 return ret.t;
268 }
269
270 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
271
Sleef_atan2d2_u10(double2 x,double2 y)272 _CL_ALWAYSINLINE double2 Sleef_atan2d2_u10(double2 x, double2 y)
273 {
274 union { double2 t; reg128d r; } x_in;
275 x_in.t = x;
276 union { double2 t; reg128d r; } y_in;
277 y_in.t = y;
278 union { double2 t; reg128d r; } ret;
279 ret.r = Sleef_atan2d2_u10_intrin(x_in.r, y_in.r);
280 return ret.t;
281 }
282
Sleef_atan2d2_u35(double2 x,double2 y)283 _CL_ALWAYSINLINE double2 Sleef_atan2d2_u35(double2 x, double2 y)
284 {
285 union { double2 t; reg128d r; } x_in;
286 x_in.t = x;
287 union { double2 t; reg128d r; } y_in;
288 y_in.t = y;
289 union { double2 t; reg128d r; } ret;
290 ret.r = Sleef_atan2d2_u35_intrin(x_in.r, y_in.r);
291 return ret.t;
292 }
293 #endif
294
295
Sleef_cbrtf4_u10(float4 x)296 _CL_ALWAYSINLINE float4 Sleef_cbrtf4_u10(float4 x)
297 {
298 union { float4 t; reg128f r; } x_in;
299 x_in.t = x;
300 union { float4 t; reg128f r; } ret;
301 ret.r = Sleef_cbrtf4_u10_intrin(x_in.r);
302 return ret.t;
303 }
304
Sleef_cbrtf4_u35(float4 x)305 _CL_ALWAYSINLINE float4 Sleef_cbrtf4_u35(float4 x)
306 {
307 union { float4 t; reg128f r; } x_in;
308 x_in.t = x;
309 union { float4 t; reg128f r; } ret;
310 ret.r = Sleef_cbrtf4_u35_intrin(x_in.r);
311 return ret.t;
312 }
313
314 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
315
Sleef_cbrtd2_u10(double2 x)316 _CL_ALWAYSINLINE double2 Sleef_cbrtd2_u10(double2 x)
317 {
318 union { double2 t; reg128d r; } x_in;
319 x_in.t = x;
320 union { double2 t; reg128d r; } ret;
321 ret.r = Sleef_cbrtd2_u10_intrin(x_in.r);
322 return ret.t;
323 }
324
Sleef_cbrtd2_u35(double2 x)325 _CL_ALWAYSINLINE double2 Sleef_cbrtd2_u35(double2 x)
326 {
327 union { double2 t; reg128d r; } x_in;
328 x_in.t = x;
329 union { double2 t; reg128d r; } ret;
330 ret.r = Sleef_cbrtd2_u35_intrin(x_in.r);
331 return ret.t;
332 }
333 #endif
334
335
Sleef_logf4_u10(float4 x)336 _CL_ALWAYSINLINE float4 Sleef_logf4_u10(float4 x)
337 {
338 union { float4 t; reg128f r; } x_in;
339 x_in.t = x;
340 union { float4 t; reg128f r; } ret;
341 ret.r = Sleef_logf4_u10_intrin(x_in.r);
342 return ret.t;
343 }
344
Sleef_logf4_u35(float4 x)345 _CL_ALWAYSINLINE float4 Sleef_logf4_u35(float4 x)
346 {
347 union { float4 t; reg128f r; } x_in;
348 x_in.t = x;
349 union { float4 t; reg128f r; } ret;
350 ret.r = Sleef_logf4_u35_intrin(x_in.r);
351 return ret.t;
352 }
353
354 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
355
Sleef_logd2_u10(double2 x)356 _CL_ALWAYSINLINE double2 Sleef_logd2_u10(double2 x)
357 {
358 union { double2 t; reg128d r; } x_in;
359 x_in.t = x;
360 union { double2 t; reg128d r; } ret;
361 ret.r = Sleef_logd2_u10_intrin(x_in.r);
362 return ret.t;
363 }
364
Sleef_logd2_u35(double2 x)365 _CL_ALWAYSINLINE double2 Sleef_logd2_u35(double2 x)
366 {
367 union { double2 t; reg128d r; } x_in;
368 x_in.t = x;
369 union { double2 t; reg128d r; } ret;
370 ret.r = Sleef_logd2_u35_intrin(x_in.r);
371 return ret.t;
372 }
373 #endif
374
375
Sleef_expf4_u10(float4 x)376 _CL_ALWAYSINLINE float4 Sleef_expf4_u10(float4 x)
377 {
378 union { float4 t; reg128f r; } x_in;
379 x_in.t = x;
380 union { float4 t; reg128f r; } ret;
381 ret.r = Sleef_expf4_u10_intrin(x_in.r);
382 return ret.t;
383 }
384
385 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
386
Sleef_expd2_u10(double2 x)387 _CL_ALWAYSINLINE double2 Sleef_expd2_u10(double2 x)
388 {
389 union { double2 t; reg128d r; } x_in;
390 x_in.t = x;
391 union { double2 t; reg128d r; } ret;
392 ret.r = Sleef_expd2_u10_intrin(x_in.r);
393 return ret.t;
394 }
395 #endif
396
397
Sleef_powf4_u10(float4 x,float4 y)398 _CL_ALWAYSINLINE float4 Sleef_powf4_u10(float4 x, float4 y)
399 {
400 union { float4 t; reg128f r; } x_in;
401 x_in.t = x;
402 union { float4 t; reg128f r; } y_in;
403 y_in.t = y;
404 union { float4 t; reg128f r; } ret;
405 ret.r = Sleef_powf4_u10_intrin(x_in.r, y_in.r);
406 return ret.t;
407 }
408
409 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
410
Sleef_powd2_u10(double2 x,double2 y)411 _CL_ALWAYSINLINE double2 Sleef_powd2_u10(double2 x, double2 y)
412 {
413 union { double2 t; reg128d r; } x_in;
414 x_in.t = x;
415 union { double2 t; reg128d r; } y_in;
416 y_in.t = y;
417 union { double2 t; reg128d r; } ret;
418 ret.r = Sleef_powd2_u10_intrin(x_in.r, y_in.r);
419 return ret.t;
420 }
421 #endif
422
423
Sleef_pownf4_u10(float4 x,int4 y)424 _CL_ALWAYSINLINE float4 Sleef_pownf4_u10(float4 x, int4 y)
425 {
426 union { float4 t; reg128f r; } x_in;
427 x_in.t = x;
428 union { int4 t; reg128i r; } y_in;
429 y_in.t = y;
430 union { float4 t; reg128f r; } ret;
431 ret.r = Sleef_pownf4_u10_intrin(x_in.r, y_in.r);
432 return ret.t;
433 }
434
435 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
436
437 #ifdef SLEEF_VINT_IS_VLONG
438
Sleef_pownd2_u10_long(double2 x,long2 y)439 _CL_ALWAYSINLINE double2 Sleef_pownd2_u10_long(double2 x, long2 y)
440 {
441 union { double2 t; reg128d r; } x_in;
442 x_in.t = x;
443 union { long2 t; reg128i r; } y_in;
444 y_in.t = y;
445 union { double2 t; reg128d r; } ret;
446 ret.r = Sleef_pownd2_u10_intrin(x_in.r, y_in.r);
447 return ret.t;
448 }
449
450 #else
451
Sleef_pownd2_u10(double2 x,int2 y)452 _CL_ALWAYSINLINE double2 Sleef_pownd2_u10(double2 x, int2 y)
453 {
454 union { double2 t; reg128d r; } x_in;
455 x_in.t = x;
456 union { int2 t; reg64i r; } y_in;
457 y_in.t = y;
458 union { double2 t; reg128d r; } ret;
459 ret.r = Sleef_pownd2_u10_intrin(x_in.r, y_in.r);
460 return ret.t;
461 }
462
463 #endif
464
465 #endif
466
467
Sleef_powrf4_u10(float4 x,float4 y)468 _CL_ALWAYSINLINE float4 Sleef_powrf4_u10(float4 x, float4 y)
469 {
470 union { float4 t; reg128f r; } x_in;
471 x_in.t = x;
472 union { float4 t; reg128f r; } y_in;
473 y_in.t = y;
474 union { float4 t; reg128f r; } ret;
475 ret.r = Sleef_powrf4_u10_intrin(x_in.r, y_in.r);
476 return ret.t;
477 }
478
479 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
480
Sleef_powrd2_u10(double2 x,double2 y)481 _CL_ALWAYSINLINE double2 Sleef_powrd2_u10(double2 x, double2 y)
482 {
483 union { double2 t; reg128d r; } x_in;
484 x_in.t = x;
485 union { double2 t; reg128d r; } y_in;
486 y_in.t = y;
487 union { double2 t; reg128d r; } ret;
488 ret.r = Sleef_powrd2_u10_intrin(x_in.r, y_in.r);
489 return ret.t;
490 }
491 #endif
492
493
Sleef_sinhf4_u10(float4 x)494 _CL_ALWAYSINLINE float4 Sleef_sinhf4_u10(float4 x)
495 {
496 union { float4 t; reg128f r; } x_in;
497 x_in.t = x;
498 union { float4 t; reg128f r; } ret;
499 ret.r = Sleef_sinhf4_u10_intrin(x_in.r);
500 return ret.t;
501 }
502
503 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
504
Sleef_sinhd2_u10(double2 x)505 _CL_ALWAYSINLINE double2 Sleef_sinhd2_u10(double2 x)
506 {
507 union { double2 t; reg128d r; } x_in;
508 x_in.t = x;
509 union { double2 t; reg128d r; } ret;
510 ret.r = Sleef_sinhd2_u10_intrin(x_in.r);
511 return ret.t;
512 }
513 #endif
514
515
Sleef_coshf4_u10(float4 x)516 _CL_ALWAYSINLINE float4 Sleef_coshf4_u10(float4 x)
517 {
518 union { float4 t; reg128f r; } x_in;
519 x_in.t = x;
520 union { float4 t; reg128f r; } ret;
521 ret.r = Sleef_coshf4_u10_intrin(x_in.r);
522 return ret.t;
523 }
524
525 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
526
Sleef_coshd2_u10(double2 x)527 _CL_ALWAYSINLINE double2 Sleef_coshd2_u10(double2 x)
528 {
529 union { double2 t; reg128d r; } x_in;
530 x_in.t = x;
531 union { double2 t; reg128d r; } ret;
532 ret.r = Sleef_coshd2_u10_intrin(x_in.r);
533 return ret.t;
534 }
535 #endif
536
537
Sleef_tanhf4_u10(float4 x)538 _CL_ALWAYSINLINE float4 Sleef_tanhf4_u10(float4 x)
539 {
540 union { float4 t; reg128f r; } x_in;
541 x_in.t = x;
542 union { float4 t; reg128f r; } ret;
543 ret.r = Sleef_tanhf4_u10_intrin(x_in.r);
544 return ret.t;
545 }
546
547 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
548
Sleef_tanhd2_u10(double2 x)549 _CL_ALWAYSINLINE double2 Sleef_tanhd2_u10(double2 x)
550 {
551 union { double2 t; reg128d r; } x_in;
552 x_in.t = x;
553 union { double2 t; reg128d r; } ret;
554 ret.r = Sleef_tanhd2_u10_intrin(x_in.r);
555 return ret.t;
556 }
557 #endif
558
559
Sleef_asinhf4_u10(float4 x)560 _CL_ALWAYSINLINE float4 Sleef_asinhf4_u10(float4 x)
561 {
562 union { float4 t; reg128f r; } x_in;
563 x_in.t = x;
564 union { float4 t; reg128f r; } ret;
565 ret.r = Sleef_asinhf4_u10_intrin(x_in.r);
566 return ret.t;
567 }
568
569 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
570
Sleef_asinhd2_u10(double2 x)571 _CL_ALWAYSINLINE double2 Sleef_asinhd2_u10(double2 x)
572 {
573 union { double2 t; reg128d r; } x_in;
574 x_in.t = x;
575 union { double2 t; reg128d r; } ret;
576 ret.r = Sleef_asinhd2_u10_intrin(x_in.r);
577 return ret.t;
578 }
579 #endif
580
581
Sleef_acoshf4_u10(float4 x)582 _CL_ALWAYSINLINE float4 Sleef_acoshf4_u10(float4 x)
583 {
584 union { float4 t; reg128f r; } x_in;
585 x_in.t = x;
586 union { float4 t; reg128f r; } ret;
587 ret.r = Sleef_acoshf4_u10_intrin(x_in.r);
588 return ret.t;
589 }
590
591 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
592
Sleef_acoshd2_u10(double2 x)593 _CL_ALWAYSINLINE double2 Sleef_acoshd2_u10(double2 x)
594 {
595 union { double2 t; reg128d r; } x_in;
596 x_in.t = x;
597 union { double2 t; reg128d r; } ret;
598 ret.r = Sleef_acoshd2_u10_intrin(x_in.r);
599 return ret.t;
600 }
601 #endif
602
603
Sleef_atanhf4_u10(float4 x)604 _CL_ALWAYSINLINE float4 Sleef_atanhf4_u10(float4 x)
605 {
606 union { float4 t; reg128f r; } x_in;
607 x_in.t = x;
608 union { float4 t; reg128f r; } ret;
609 ret.r = Sleef_atanhf4_u10_intrin(x_in.r);
610 return ret.t;
611 }
612
613 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
614
Sleef_atanhd2_u10(double2 x)615 _CL_ALWAYSINLINE double2 Sleef_atanhd2_u10(double2 x)
616 {
617 union { double2 t; reg128d r; } x_in;
618 x_in.t = x;
619 union { double2 t; reg128d r; } ret;
620 ret.r = Sleef_atanhd2_u10_intrin(x_in.r);
621 return ret.t;
622 }
623 #endif
624
625
Sleef_exp2f4_u10(float4 x)626 _CL_ALWAYSINLINE float4 Sleef_exp2f4_u10(float4 x)
627 {
628 union { float4 t; reg128f r; } x_in;
629 x_in.t = x;
630 union { float4 t; reg128f r; } ret;
631 ret.r = Sleef_exp2f4_u10_intrin(x_in.r);
632 return ret.t;
633 }
634
635 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
636
Sleef_exp2d2_u10(double2 x)637 _CL_ALWAYSINLINE double2 Sleef_exp2d2_u10(double2 x)
638 {
639 union { double2 t; reg128d r; } x_in;
640 x_in.t = x;
641 union { double2 t; reg128d r; } ret;
642 ret.r = Sleef_exp2d2_u10_intrin(x_in.r);
643 return ret.t;
644 }
645 #endif
646
647
Sleef_exp10f4_u10(float4 x)648 _CL_ALWAYSINLINE float4 Sleef_exp10f4_u10(float4 x)
649 {
650 union { float4 t; reg128f r; } x_in;
651 x_in.t = x;
652 union { float4 t; reg128f r; } ret;
653 ret.r = Sleef_exp10f4_u10_intrin(x_in.r);
654 return ret.t;
655 }
656
657 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
658
Sleef_exp10d2_u10(double2 x)659 _CL_ALWAYSINLINE double2 Sleef_exp10d2_u10(double2 x)
660 {
661 union { double2 t; reg128d r; } x_in;
662 x_in.t = x;
663 union { double2 t; reg128d r; } ret;
664 ret.r = Sleef_exp10d2_u10_intrin(x_in.r);
665 return ret.t;
666 }
667 #endif
668
669
Sleef_expm1f4_u10(float4 x)670 _CL_ALWAYSINLINE float4 Sleef_expm1f4_u10(float4 x)
671 {
672 union { float4 t; reg128f r; } x_in;
673 x_in.t = x;
674 union { float4 t; reg128f r; } ret;
675 ret.r = Sleef_expm1f4_u10_intrin(x_in.r);
676 return ret.t;
677 }
678
679 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
680
Sleef_expm1d2_u10(double2 x)681 _CL_ALWAYSINLINE double2 Sleef_expm1d2_u10(double2 x)
682 {
683 union { double2 t; reg128d r; } x_in;
684 x_in.t = x;
685 union { double2 t; reg128d r; } ret;
686 ret.r = Sleef_expm1d2_u10_intrin(x_in.r);
687 return ret.t;
688 }
689 #endif
690
691
Sleef_log10f4_u10(float4 x)692 _CL_ALWAYSINLINE float4 Sleef_log10f4_u10(float4 x)
693 {
694 union { float4 t; reg128f r; } x_in;
695 x_in.t = x;
696 union { float4 t; reg128f r; } ret;
697 ret.r = Sleef_log10f4_u10_intrin(x_in.r);
698 return ret.t;
699 }
700
701 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
702
Sleef_log10d2_u10(double2 x)703 _CL_ALWAYSINLINE double2 Sleef_log10d2_u10(double2 x)
704 {
705 union { double2 t; reg128d r; } x_in;
706 x_in.t = x;
707 union { double2 t; reg128d r; } ret;
708 ret.r = Sleef_log10d2_u10_intrin(x_in.r);
709 return ret.t;
710 }
711 #endif
712
713
Sleef_log1pf4_u10(float4 x)714 _CL_ALWAYSINLINE float4 Sleef_log1pf4_u10(float4 x)
715 {
716 union { float4 t; reg128f r; } x_in;
717 x_in.t = x;
718 union { float4 t; reg128f r; } ret;
719 ret.r = Sleef_log1pf4_u10_intrin(x_in.r);
720 return ret.t;
721 }
722
723 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
724
Sleef_log1pd2_u10(double2 x)725 _CL_ALWAYSINLINE double2 Sleef_log1pd2_u10(double2 x)
726 {
727 union { double2 t; reg128d r; } x_in;
728 x_in.t = x;
729 union { double2 t; reg128d r; } ret;
730 ret.r = Sleef_log1pd2_u10_intrin(x_in.r);
731 return ret.t;
732 }
733 #endif
734
735
Sleef_sinpif4_u05(float4 x)736 _CL_ALWAYSINLINE float4 Sleef_sinpif4_u05(float4 x)
737 {
738 union { float4 t; reg128f r; } x_in;
739 x_in.t = x;
740 union { float4 t; reg128f r; } ret;
741 ret.r = Sleef_sinpif4_u05_intrin(x_in.r);
742 return ret.t;
743 }
744
745 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
746
Sleef_sinpid2_u05(double2 x)747 _CL_ALWAYSINLINE double2 Sleef_sinpid2_u05(double2 x)
748 {
749 union { double2 t; reg128d r; } x_in;
750 x_in.t = x;
751 union { double2 t; reg128d r; } ret;
752 ret.r = Sleef_sinpid2_u05_intrin(x_in.r);
753 return ret.t;
754 }
755 #endif
756
757
Sleef_cospif4_u05(float4 x)758 _CL_ALWAYSINLINE float4 Sleef_cospif4_u05(float4 x)
759 {
760 union { float4 t; reg128f r; } x_in;
761 x_in.t = x;
762 union { float4 t; reg128f r; } ret;
763 ret.r = Sleef_cospif4_u05_intrin(x_in.r);
764 return ret.t;
765 }
766
767 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
768
Sleef_cospid2_u05(double2 x)769 _CL_ALWAYSINLINE double2 Sleef_cospid2_u05(double2 x)
770 {
771 union { double2 t; reg128d r; } x_in;
772 x_in.t = x;
773 union { double2 t; reg128d r; } ret;
774 ret.r = Sleef_cospid2_u05_intrin(x_in.r);
775 return ret.t;
776 }
777 #endif
778
779
Sleef_fmaf4(float4 x,float4 y,float4 z)780 _CL_ALWAYSINLINE float4 Sleef_fmaf4(float4 x, float4 y, float4 z)
781 {
782 union { float4 t; reg128f r; } x_in;
783 x_in.t = x;
784 union { float4 t; reg128f r; } y_in;
785 y_in.t = y;
786 union { float4 t; reg128f r; } z_in;
787 z_in.t = z;
788 union { float4 t; reg128f r; } ret;
789 ret.r = Sleef_fmaf4_intrin(x_in.r, y_in.r, z_in.r);
790 return ret.t;
791 }
792
793 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
794
Sleef_fmad2(double2 x,double2 y,double2 z)795 _CL_ALWAYSINLINE double2 Sleef_fmad2(double2 x, double2 y, double2 z)
796 {
797 union { double2 t; reg128d r; } x_in;
798 x_in.t = x;
799 union { double2 t; reg128d r; } y_in;
800 y_in.t = y;
801 union { double2 t; reg128d r; } z_in;
802 z_in.t = z;
803 union { double2 t; reg128d r; } ret;
804 ret.r = Sleef_fmad2_intrin(x_in.r, y_in.r, z_in.r);
805 return ret.t;
806 }
807 #endif
808
809
Sleef_sqrtf4_u05(float4 x)810 _CL_ALWAYSINLINE float4 Sleef_sqrtf4_u05(float4 x)
811 {
812 union { float4 t; reg128f r; } x_in;
813 x_in.t = x;
814 union { float4 t; reg128f r; } ret;
815 ret.r = Sleef_sqrtf4_u05_intrin(x_in.r);
816 return ret.t;
817 }
818
819 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
820
Sleef_sqrtd2_u05(double2 x)821 _CL_ALWAYSINLINE double2 Sleef_sqrtd2_u05(double2 x)
822 {
823 union { double2 t; reg128d r; } x_in;
824 x_in.t = x;
825 union { double2 t; reg128d r; } ret;
826 ret.r = Sleef_sqrtd2_u05_intrin(x_in.r);
827 return ret.t;
828 }
829 #endif
830
831
Sleef_hypotf4_u05(float4 x,float4 y)832 _CL_ALWAYSINLINE float4 Sleef_hypotf4_u05(float4 x, float4 y)
833 {
834 union { float4 t; reg128f r; } x_in;
835 x_in.t = x;
836 union { float4 t; reg128f r; } y_in;
837 y_in.t = y;
838 union { float4 t; reg128f r; } ret;
839 ret.r = Sleef_hypotf4_u05_intrin(x_in.r, y_in.r);
840 return ret.t;
841 }
842
Sleef_hypotf4_u35(float4 x,float4 y)843 _CL_ALWAYSINLINE float4 Sleef_hypotf4_u35(float4 x, float4 y)
844 {
845 union { float4 t; reg128f r; } x_in;
846 x_in.t = x;
847 union { float4 t; reg128f r; } y_in;
848 y_in.t = y;
849 union { float4 t; reg128f r; } ret;
850 ret.r = Sleef_hypotf4_u35_intrin(x_in.r, y_in.r);
851 return ret.t;
852 }
853
854 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
855
Sleef_hypotd2_u05(double2 x,double2 y)856 _CL_ALWAYSINLINE double2 Sleef_hypotd2_u05(double2 x, double2 y)
857 {
858 union { double2 t; reg128d r; } x_in;
859 x_in.t = x;
860 union { double2 t; reg128d r; } y_in;
861 y_in.t = y;
862 union { double2 t; reg128d r; } ret;
863 ret.r = Sleef_hypotd2_u05_intrin(x_in.r, y_in.r);
864 return ret.t;
865 }
866
Sleef_hypotd2_u35(double2 x,double2 y)867 _CL_ALWAYSINLINE double2 Sleef_hypotd2_u35(double2 x, double2 y)
868 {
869 union { double2 t; reg128d r; } x_in;
870 x_in.t = x;
871 union { double2 t; reg128d r; } y_in;
872 y_in.t = y;
873 union { double2 t; reg128d r; } ret;
874 ret.r = Sleef_hypotd2_u35_intrin(x_in.r, y_in.r);
875 return ret.t;
876 }
877 #endif
878
879
Sleef_fabsf4(float4 x)880 _CL_ALWAYSINLINE float4 Sleef_fabsf4(float4 x)
881 {
882 union { float4 t; reg128f r; } x_in;
883 x_in.t = x;
884 union { float4 t; reg128f r; } ret;
885 ret.r = Sleef_fabsf4_intrin(x_in.r);
886 return ret.t;
887 }
888
889 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
890
Sleef_fabsd2(double2 x)891 _CL_ALWAYSINLINE double2 Sleef_fabsd2(double2 x)
892 {
893 union { double2 t; reg128d r; } x_in;
894 x_in.t = x;
895 union { double2 t; reg128d r; } ret;
896 ret.r = Sleef_fabsd2_intrin(x_in.r);
897 return ret.t;
898 }
899 #endif
900
901
Sleef_copysignf4(float4 x,float4 y)902 _CL_ALWAYSINLINE float4 Sleef_copysignf4(float4 x, float4 y)
903 {
904 union { float4 t; reg128f r; } x_in;
905 x_in.t = x;
906 union { float4 t; reg128f r; } y_in;
907 y_in.t = y;
908 union { float4 t; reg128f r; } ret;
909 ret.r = Sleef_copysignf4_intrin(x_in.r, y_in.r);
910 return ret.t;
911 }
912
913 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
914
Sleef_copysignd2(double2 x,double2 y)915 _CL_ALWAYSINLINE double2 Sleef_copysignd2(double2 x, double2 y)
916 {
917 union { double2 t; reg128d r; } x_in;
918 x_in.t = x;
919 union { double2 t; reg128d r; } y_in;
920 y_in.t = y;
921 union { double2 t; reg128d r; } ret;
922 ret.r = Sleef_copysignd2_intrin(x_in.r, y_in.r);
923 return ret.t;
924 }
925 #endif
926
927
Sleef_fmaxf4(float4 x,float4 y)928 _CL_ALWAYSINLINE float4 Sleef_fmaxf4(float4 x, float4 y)
929 {
930 union { float4 t; reg128f r; } x_in;
931 x_in.t = x;
932 union { float4 t; reg128f r; } y_in;
933 y_in.t = y;
934 union { float4 t; reg128f r; } ret;
935 ret.r = Sleef_fmaxf4_intrin(x_in.r, y_in.r);
936 return ret.t;
937 }
938
939 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
940
Sleef_fmaxd2(double2 x,double2 y)941 _CL_ALWAYSINLINE double2 Sleef_fmaxd2(double2 x, double2 y)
942 {
943 union { double2 t; reg128d r; } x_in;
944 x_in.t = x;
945 union { double2 t; reg128d r; } y_in;
946 y_in.t = y;
947 union { double2 t; reg128d r; } ret;
948 ret.r = Sleef_fmaxd2_intrin(x_in.r, y_in.r);
949 return ret.t;
950 }
951 #endif
952
953
Sleef_fminf4(float4 x,float4 y)954 _CL_ALWAYSINLINE float4 Sleef_fminf4(float4 x, float4 y)
955 {
956 union { float4 t; reg128f r; } x_in;
957 x_in.t = x;
958 union { float4 t; reg128f r; } y_in;
959 y_in.t = y;
960 union { float4 t; reg128f r; } ret;
961 ret.r = Sleef_fminf4_intrin(x_in.r, y_in.r);
962 return ret.t;
963 }
964
965 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
966
Sleef_fmind2(double2 x,double2 y)967 _CL_ALWAYSINLINE double2 Sleef_fmind2(double2 x, double2 y)
968 {
969 union { double2 t; reg128d r; } x_in;
970 x_in.t = x;
971 union { double2 t; reg128d r; } y_in;
972 y_in.t = y;
973 union { double2 t; reg128d r; } ret;
974 ret.r = Sleef_fmind2_intrin(x_in.r, y_in.r);
975 return ret.t;
976 }
977 #endif
978
979
Sleef_fdimf4(float4 x,float4 y)980 _CL_ALWAYSINLINE float4 Sleef_fdimf4(float4 x, float4 y)
981 {
982 union { float4 t; reg128f r; } x_in;
983 x_in.t = x;
984 union { float4 t; reg128f r; } y_in;
985 y_in.t = y;
986 union { float4 t; reg128f r; } ret;
987 ret.r = Sleef_fdimf4_intrin(x_in.r, y_in.r);
988 return ret.t;
989 }
990
991 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
992
Sleef_fdimd2(double2 x,double2 y)993 _CL_ALWAYSINLINE double2 Sleef_fdimd2(double2 x, double2 y)
994 {
995 union { double2 t; reg128d r; } x_in;
996 x_in.t = x;
997 union { double2 t; reg128d r; } y_in;
998 y_in.t = y;
999 union { double2 t; reg128d r; } ret;
1000 ret.r = Sleef_fdimd2_intrin(x_in.r, y_in.r);
1001 return ret.t;
1002 }
1003 #endif
1004
1005
Sleef_truncf4(float4 x)1006 _CL_ALWAYSINLINE float4 Sleef_truncf4(float4 x)
1007 {
1008 union { float4 t; reg128f r; } x_in;
1009 x_in.t = x;
1010 union { float4 t; reg128f r; } ret;
1011 ret.r = Sleef_truncf4_intrin(x_in.r);
1012 return ret.t;
1013 }
1014
1015 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1016
Sleef_truncd2(double2 x)1017 _CL_ALWAYSINLINE double2 Sleef_truncd2(double2 x)
1018 {
1019 union { double2 t; reg128d r; } x_in;
1020 x_in.t = x;
1021 union { double2 t; reg128d r; } ret;
1022 ret.r = Sleef_truncd2_intrin(x_in.r);
1023 return ret.t;
1024 }
1025 #endif
1026
1027
Sleef_floorf4(float4 x)1028 _CL_ALWAYSINLINE float4 Sleef_floorf4(float4 x)
1029 {
1030 union { float4 t; reg128f r; } x_in;
1031 x_in.t = x;
1032 union { float4 t; reg128f r; } ret;
1033 ret.r = Sleef_floorf4_intrin(x_in.r);
1034 return ret.t;
1035 }
1036
1037 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1038
Sleef_floord2(double2 x)1039 _CL_ALWAYSINLINE double2 Sleef_floord2(double2 x)
1040 {
1041 union { double2 t; reg128d r; } x_in;
1042 x_in.t = x;
1043 union { double2 t; reg128d r; } ret;
1044 ret.r = Sleef_floord2_intrin(x_in.r);
1045 return ret.t;
1046 }
1047 #endif
1048
1049
Sleef_ceilf4(float4 x)1050 _CL_ALWAYSINLINE float4 Sleef_ceilf4(float4 x)
1051 {
1052 union { float4 t; reg128f r; } x_in;
1053 x_in.t = x;
1054 union { float4 t; reg128f r; } ret;
1055 ret.r = Sleef_ceilf4_intrin(x_in.r);
1056 return ret.t;
1057 }
1058
1059 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1060
Sleef_ceild2(double2 x)1061 _CL_ALWAYSINLINE double2 Sleef_ceild2(double2 x)
1062 {
1063 union { double2 t; reg128d r; } x_in;
1064 x_in.t = x;
1065 union { double2 t; reg128d r; } ret;
1066 ret.r = Sleef_ceild2_intrin(x_in.r);
1067 return ret.t;
1068 }
1069 #endif
1070
1071
Sleef_roundf4(float4 x)1072 _CL_ALWAYSINLINE float4 Sleef_roundf4(float4 x)
1073 {
1074 union { float4 t; reg128f r; } x_in;
1075 x_in.t = x;
1076 union { float4 t; reg128f r; } ret;
1077 ret.r = Sleef_roundf4_intrin(x_in.r);
1078 return ret.t;
1079 }
1080
1081 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1082
Sleef_roundd2(double2 x)1083 _CL_ALWAYSINLINE double2 Sleef_roundd2(double2 x)
1084 {
1085 union { double2 t; reg128d r; } x_in;
1086 x_in.t = x;
1087 union { double2 t; reg128d r; } ret;
1088 ret.r = Sleef_roundd2_intrin(x_in.r);
1089 return ret.t;
1090 }
1091 #endif
1092
1093
Sleef_rintf4(float4 x)1094 _CL_ALWAYSINLINE float4 Sleef_rintf4(float4 x)
1095 {
1096 union { float4 t; reg128f r; } x_in;
1097 x_in.t = x;
1098 union { float4 t; reg128f r; } ret;
1099 ret.r = Sleef_rintf4_intrin(x_in.r);
1100 return ret.t;
1101 }
1102
1103 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1104
Sleef_rintd2(double2 x)1105 _CL_ALWAYSINLINE double2 Sleef_rintd2(double2 x)
1106 {
1107 union { double2 t; reg128d r; } x_in;
1108 x_in.t = x;
1109 union { double2 t; reg128d r; } ret;
1110 ret.r = Sleef_rintd2_intrin(x_in.r);
1111 return ret.t;
1112 }
1113 #endif
1114
1115
Sleef_nextafterf4(float4 x,float4 y)1116 _CL_ALWAYSINLINE float4 Sleef_nextafterf4(float4 x, float4 y)
1117 {
1118 union { float4 t; reg128f r; } x_in;
1119 x_in.t = x;
1120 union { float4 t; reg128f r; } y_in;
1121 y_in.t = y;
1122 union { float4 t; reg128f r; } ret;
1123 ret.r = Sleef_nextafterf4_intrin(x_in.r, y_in.r);
1124 return ret.t;
1125 }
1126
1127 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1128
Sleef_nextafterd2(double2 x,double2 y)1129 _CL_ALWAYSINLINE double2 Sleef_nextafterd2(double2 x, double2 y)
1130 {
1131 union { double2 t; reg128d r; } x_in;
1132 x_in.t = x;
1133 union { double2 t; reg128d r; } y_in;
1134 y_in.t = y;
1135 union { double2 t; reg128d r; } ret;
1136 ret.r = Sleef_nextafterd2_intrin(x_in.r, y_in.r);
1137 return ret.t;
1138 }
1139 #endif
1140
1141
Sleef_fmodf4(float4 x,float4 y)1142 _CL_ALWAYSINLINE float4 Sleef_fmodf4(float4 x, float4 y)
1143 {
1144 union { float4 t; reg128f r; } x_in;
1145 x_in.t = x;
1146 union { float4 t; reg128f r; } y_in;
1147 y_in.t = y;
1148 union { float4 t; reg128f r; } ret;
1149 ret.r = Sleef_fmodf4_intrin(x_in.r, y_in.r);
1150 return ret.t;
1151 }
1152
1153 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1154
Sleef_fmodd2(double2 x,double2 y)1155 _CL_ALWAYSINLINE double2 Sleef_fmodd2(double2 x, double2 y)
1156 {
1157 union { double2 t; reg128d r; } x_in;
1158 x_in.t = x;
1159 union { double2 t; reg128d r; } y_in;
1160 y_in.t = y;
1161 union { double2 t; reg128d r; } ret;
1162 ret.r = Sleef_fmodd2_intrin(x_in.r, y_in.r);
1163 return ret.t;
1164 }
1165 #endif
1166
1167
Sleef_lgammaf4_u10(float4 x)1168 _CL_ALWAYSINLINE float4 Sleef_lgammaf4_u10(float4 x)
1169 {
1170 union { float4 t; reg128f r; } x_in;
1171 x_in.t = x;
1172 union { float4 t; reg128f r; } ret;
1173 ret.r = Sleef_lgammaf4_u10_intrin(x_in.r);
1174 return ret.t;
1175 }
1176
1177 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1178
Sleef_lgammad2_u10(double2 x)1179 _CL_ALWAYSINLINE double2 Sleef_lgammad2_u10(double2 x)
1180 {
1181 union { double2 t; reg128d r; } x_in;
1182 x_in.t = x;
1183 union { double2 t; reg128d r; } ret;
1184 ret.r = Sleef_lgammad2_u10_intrin(x_in.r);
1185 return ret.t;
1186 }
1187 #endif
1188
1189
Sleef_lgamma_rf4_u10(float4 x)1190 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_lgamma_rf4_u10(float4 x)
1191 {
1192 union { float4 t; reg128f r; } x_in;
1193 x_in.t = x;
1194 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1195 ret.r = Sleef_lgamma_rf4_u10_intrin(x_in.r);
1196 return ret.t;
1197 }
1198
1199 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1200
Sleef_lgamma_rd2_u10(double2 x)1201 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_lgamma_rd2_u10(double2 x)
1202 {
1203 union { double2 t; reg128d r; } x_in;
1204 x_in.t = x;
1205 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1206 ret.r = Sleef_lgamma_rd2_u10_intrin(x_in.r);
1207 return ret.t;
1208 }
1209 #endif
1210
1211
Sleef_tgammaf4_u10(float4 x)1212 _CL_ALWAYSINLINE float4 Sleef_tgammaf4_u10(float4 x)
1213 {
1214 union { float4 t; reg128f r; } x_in;
1215 x_in.t = x;
1216 union { float4 t; reg128f r; } ret;
1217 ret.r = Sleef_tgammaf4_u10_intrin(x_in.r);
1218 return ret.t;
1219 }
1220
1221 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1222
Sleef_tgammad2_u10(double2 x)1223 _CL_ALWAYSINLINE double2 Sleef_tgammad2_u10(double2 x)
1224 {
1225 union { double2 t; reg128d r; } x_in;
1226 x_in.t = x;
1227 union { double2 t; reg128d r; } ret;
1228 ret.r = Sleef_tgammad2_u10_intrin(x_in.r);
1229 return ret.t;
1230 }
1231 #endif
1232
1233
Sleef_erff4_u10(float4 x)1234 _CL_ALWAYSINLINE float4 Sleef_erff4_u10(float4 x)
1235 {
1236 union { float4 t; reg128f r; } x_in;
1237 x_in.t = x;
1238 union { float4 t; reg128f r; } ret;
1239 ret.r = Sleef_erff4_u10_intrin(x_in.r);
1240 return ret.t;
1241 }
1242
1243 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1244
Sleef_erfd2_u10(double2 x)1245 _CL_ALWAYSINLINE double2 Sleef_erfd2_u10(double2 x)
1246 {
1247 union { double2 t; reg128d r; } x_in;
1248 x_in.t = x;
1249 union { double2 t; reg128d r; } ret;
1250 ret.r = Sleef_erfd2_u10_intrin(x_in.r);
1251 return ret.t;
1252 }
1253 #endif
1254
1255
Sleef_erfcf4_u15(float4 x)1256 _CL_ALWAYSINLINE float4 Sleef_erfcf4_u15(float4 x)
1257 {
1258 union { float4 t; reg128f r; } x_in;
1259 x_in.t = x;
1260 union { float4 t; reg128f r; } ret;
1261 ret.r = Sleef_erfcf4_u15_intrin(x_in.r);
1262 return ret.t;
1263 }
1264
1265 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1266
Sleef_erfcd2_u15(double2 x)1267 _CL_ALWAYSINLINE double2 Sleef_erfcd2_u15(double2 x)
1268 {
1269 union { double2 t; reg128d r; } x_in;
1270 x_in.t = x;
1271 union { double2 t; reg128d r; } ret;
1272 ret.r = Sleef_erfcd2_u15_intrin(x_in.r);
1273 return ret.t;
1274 }
1275 #endif
1276
1277
Sleef_frfrexpf4(float4 x)1278 _CL_ALWAYSINLINE float4 Sleef_frfrexpf4(float4 x)
1279 {
1280 union { float4 t; reg128f r; } x_in;
1281 x_in.t = x;
1282 union { float4 t; reg128f r; } ret;
1283 ret.r = Sleef_frfrexpf4_intrin(x_in.r);
1284 return ret.t;
1285 }
1286
1287 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1288
Sleef_frfrexpd2(double2 x)1289 _CL_ALWAYSINLINE double2 Sleef_frfrexpd2(double2 x)
1290 {
1291 union { double2 t; reg128d r; } x_in;
1292 x_in.t = x;
1293 union { double2 t; reg128d r; } ret;
1294 ret.r = Sleef_frfrexpd2_intrin(x_in.r);
1295 return ret.t;
1296 }
1297 #endif
1298
1299
Sleef_sincosf4_u10(float4 x)1300 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincosf4_u10(float4 x)
1301 {
1302 union { float4 t; reg128f r; } x_in;
1303 x_in.t = x;
1304 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1305 ret.r = Sleef_sincosf4_u10_intrin(x_in.r);
1306 return ret.t;
1307 }
1308
Sleef_sincosf4_u35(float4 x)1309 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincosf4_u35(float4 x)
1310 {
1311 union { float4 t; reg128f r; } x_in;
1312 x_in.t = x;
1313 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1314 ret.r = Sleef_sincosf4_u35_intrin(x_in.r);
1315 return ret.t;
1316 }
1317
1318 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1319
Sleef_sincosd2_u10(double2 x)1320 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincosd2_u10(double2 x)
1321 {
1322 union { double2 t; reg128d r; } x_in;
1323 x_in.t = x;
1324 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1325 ret.r = Sleef_sincosd2_u10_intrin(x_in.r);
1326 return ret.t;
1327 }
1328
Sleef_sincosd2_u35(double2 x)1329 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincosd2_u35(double2 x)
1330 {
1331 union { double2 t; reg128d r; } x_in;
1332 x_in.t = x;
1333 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1334 ret.r = Sleef_sincosd2_u35_intrin(x_in.r);
1335 return ret.t;
1336 }
1337 #endif
1338
1339
Sleef_sincospif4_u05(float4 x)1340 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincospif4_u05(float4 x)
1341 {
1342 union { float4 t; reg128f r; } x_in;
1343 x_in.t = x;
1344 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1345 ret.r = Sleef_sincospif4_u05_intrin(x_in.r);
1346 return ret.t;
1347 }
1348
Sleef_sincospif4_u35(float4 x)1349 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_sincospif4_u35(float4 x)
1350 {
1351 union { float4 t; reg128f r; } x_in;
1352 x_in.t = x;
1353 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1354 ret.r = Sleef_sincospif4_u35_intrin(x_in.r);
1355 return ret.t;
1356 }
1357
1358 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1359
Sleef_sincospid2_u05(double2 x)1360 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincospid2_u05(double2 x)
1361 {
1362 union { double2 t; reg128d r; } x_in;
1363 x_in.t = x;
1364 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1365 ret.r = Sleef_sincospid2_u05_intrin(x_in.r);
1366 return ret.t;
1367 }
1368
Sleef_sincospid2_u35(double2 x)1369 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_sincospid2_u35(double2 x)
1370 {
1371 union { double2 t; reg128d r; } x_in;
1372 x_in.t = x;
1373 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1374 ret.r = Sleef_sincospid2_u35_intrin(x_in.r);
1375 return ret.t;
1376 }
1377 #endif
1378
1379
Sleef_modff4(float4 x)1380 _CL_ALWAYSINLINE Sleef_float4_2 Sleef_modff4(float4 x)
1381 {
1382 union { float4 t; reg128f r; } x_in;
1383 x_in.t = x;
1384 union { Sleef_float4_2 t; Sleef_reg128f_2 r; } ret;
1385 ret.r = Sleef_modff4_intrin(x_in.r);
1386 return ret.t;
1387 }
1388
1389 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1390
Sleef_modfd2(double2 x)1391 _CL_ALWAYSINLINE Sleef_double2_2 Sleef_modfd2(double2 x)
1392 {
1393 union { double2 t; reg128d r; } x_in;
1394 x_in.t = x;
1395 union { Sleef_double2_2 t; Sleef_reg128d_2 r; } ret;
1396 ret.r = Sleef_modfd2_intrin(x_in.r);
1397 return ret.t;
1398 }
1399 #endif
1400
1401
Sleef_ldexpf4(float4 x,int4 k)1402 _CL_ALWAYSINLINE float4 Sleef_ldexpf4(float4 x, int4 k)
1403 {
1404 union { float4 t; reg128f r; } x_in;
1405 x_in.t = x;
1406 union { int4 t; reg128i r; } k_in;
1407 k_in.t = k;
1408 union { float4 t; reg128f r; } ret;
1409 ret.r = Sleef_ldexpf4_intrin(x_in.r, k_in.r);
1410 return ret.t;
1411 }
1412
1413 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1414
1415 #ifdef SLEEF_VINT_IS_VLONG
Sleef_ldexpd2_long(double2 x,long2 k)1416 _CL_ALWAYSINLINE double2 Sleef_ldexpd2_long(double2 x, long2 k)
1417 {
1418 union { double2 t; reg128d r; } x_in;
1419 x_in.t = x;
1420 union { long2 t; reg128i r; } k_in;
1421 k_in.t = k;
1422 union { double2 t; reg128d r; } ret;
1423 ret.r = Sleef_ldexpd2_intrin(x_in.r, k_in.r);
1424 return ret.t;
1425 }
1426 #else
1427
Sleef_ldexpd2(double2 x,int2 k)1428 _CL_ALWAYSINLINE double2 Sleef_ldexpd2(double2 x, int2 k)
1429 {
1430 union { double2 t; reg128d r; } x_in;
1431 x_in.t = x;
1432 union { int2 t; reg64i r; } k_in;
1433 k_in.t = k;
1434 union { double2 t; reg128d r; } ret;
1435 ret.r = Sleef_ldexpd2_intrin(x_in.r, k_in.r);
1436 return ret.t;
1437 }
1438
1439 #endif
1440
1441 #endif
1442
1443
Sleef_expfrexpf4(float4 x)1444 _CL_ALWAYSINLINE int4 Sleef_expfrexpf4(float4 x)
1445 {
1446 union { float4 t; reg128f r; } x_in;
1447 x_in.t = x;
1448 union { int4 t; reg128i r; } ret;
1449 ret.r = Sleef_expfrexpf4_intrin(x_in.r);
1450 return ret.t;
1451 }
1452
1453 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1454
Sleef_expfrexpd2_long(double2 x)1455 _CL_ALWAYSINLINE long2 Sleef_expfrexpd2_long(double2 x)
1456 {
1457 union { double2 t; reg128d r; } x_in;
1458 x_in.t = x;
1459 union { long2 t; reg128i r; } ret;
1460 ret.r = Sleef_expfrexpd2_intrin(x_in.r);
1461 return ret.t;
1462 }
1463 #endif
1464
1465
Sleef_ilogbf4(float4 x)1466 _CL_ALWAYSINLINE int4 Sleef_ilogbf4(float4 x)
1467 {
1468 union { float4 t; reg128f r; } x_in;
1469 x_in.t = x;
1470 union { int4 t; reg128i r; } ret;
1471 ret.r = Sleef_ilogbf4_intrin(x_in.r);
1472 return ret.t;
1473 }
1474
1475 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1476
1477 #ifdef SLEEF_VINT_IS_VLONG
1478
Sleef_ilogbd2_long(double2 x)1479 _CL_ALWAYSINLINE long2 Sleef_ilogbd2_long(double2 x)
1480 {
1481 union { double2 t; reg128d r; } x_in;
1482 x_in.t = x;
1483 union { long2 t; reg128i r; } ret;
1484 ret.r = Sleef_ilogbd2_intrin(x_in.r);
1485 return ret.t;
1486 }
1487
1488 #else
1489
Sleef_ilogbd2(double2 x)1490 _CL_ALWAYSINLINE int2 Sleef_ilogbd2(double2 x)
1491 {
1492 union { double2 t; reg128d r; } x_in;
1493 x_in.t = x;
1494 union { int2 t; reg64i r; } ret;
1495 ret.r = Sleef_ilogbd2_intrin(x_in.r);
1496 return ret.t;
1497 }
1498
1499 #endif
1500
1501 #endif
1502
1503 #endif
1504
1505
1506
1507 #ifdef SLEEF_VEC_256_AVAILABLE
1508
Sleef_sinf8_u10(float8 x)1509 _CL_ALWAYSINLINE float8 Sleef_sinf8_u10(float8 x)
1510 {
1511 union { float8 t; reg256f r; } x_in;
1512 x_in.t = x;
1513 union { float8 t; reg256f r; } ret;
1514 ret.r = Sleef_sinf8_u10_intrin(x_in.r);
1515 return ret.t;
1516 }
1517
Sleef_sinf8_u35(float8 x)1518 _CL_ALWAYSINLINE float8 Sleef_sinf8_u35(float8 x)
1519 {
1520 union { float8 t; reg256f r; } x_in;
1521 x_in.t = x;
1522 union { float8 t; reg256f r; } ret;
1523 ret.r = Sleef_sinf8_u35_intrin(x_in.r);
1524 return ret.t;
1525 }
1526
1527 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1528
Sleef_sind4_u10(double4 x)1529 _CL_ALWAYSINLINE double4 Sleef_sind4_u10(double4 x)
1530 {
1531 union { double4 t; reg256d r; } x_in;
1532 x_in.t = x;
1533 union { double4 t; reg256d r; } ret;
1534 ret.r = Sleef_sind4_u10_intrin(x_in.r);
1535 return ret.t;
1536 }
1537
Sleef_sind4_u35(double4 x)1538 _CL_ALWAYSINLINE double4 Sleef_sind4_u35(double4 x)
1539 {
1540 union { double4 t; reg256d r; } x_in;
1541 x_in.t = x;
1542 union { double4 t; reg256d r; } ret;
1543 ret.r = Sleef_sind4_u35_intrin(x_in.r);
1544 return ret.t;
1545 }
1546 #endif
1547
1548
Sleef_cosf8_u10(float8 x)1549 _CL_ALWAYSINLINE float8 Sleef_cosf8_u10(float8 x)
1550 {
1551 union { float8 t; reg256f r; } x_in;
1552 x_in.t = x;
1553 union { float8 t; reg256f r; } ret;
1554 ret.r = Sleef_cosf8_u10_intrin(x_in.r);
1555 return ret.t;
1556 }
1557
Sleef_cosf8_u35(float8 x)1558 _CL_ALWAYSINLINE float8 Sleef_cosf8_u35(float8 x)
1559 {
1560 union { float8 t; reg256f r; } x_in;
1561 x_in.t = x;
1562 union { float8 t; reg256f r; } ret;
1563 ret.r = Sleef_cosf8_u35_intrin(x_in.r);
1564 return ret.t;
1565 }
1566
1567 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1568
Sleef_cosd4_u10(double4 x)1569 _CL_ALWAYSINLINE double4 Sleef_cosd4_u10(double4 x)
1570 {
1571 union { double4 t; reg256d r; } x_in;
1572 x_in.t = x;
1573 union { double4 t; reg256d r; } ret;
1574 ret.r = Sleef_cosd4_u10_intrin(x_in.r);
1575 return ret.t;
1576 }
1577
Sleef_cosd4_u35(double4 x)1578 _CL_ALWAYSINLINE double4 Sleef_cosd4_u35(double4 x)
1579 {
1580 union { double4 t; reg256d r; } x_in;
1581 x_in.t = x;
1582 union { double4 t; reg256d r; } ret;
1583 ret.r = Sleef_cosd4_u35_intrin(x_in.r);
1584 return ret.t;
1585 }
1586 #endif
1587
1588
Sleef_tanf8_u10(float8 x)1589 _CL_ALWAYSINLINE float8 Sleef_tanf8_u10(float8 x)
1590 {
1591 union { float8 t; reg256f r; } x_in;
1592 x_in.t = x;
1593 union { float8 t; reg256f r; } ret;
1594 ret.r = Sleef_tanf8_u10_intrin(x_in.r);
1595 return ret.t;
1596 }
1597
Sleef_tanf8_u35(float8 x)1598 _CL_ALWAYSINLINE float8 Sleef_tanf8_u35(float8 x)
1599 {
1600 union { float8 t; reg256f r; } x_in;
1601 x_in.t = x;
1602 union { float8 t; reg256f r; } ret;
1603 ret.r = Sleef_tanf8_u35_intrin(x_in.r);
1604 return ret.t;
1605 }
1606
1607 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1608
Sleef_tand4_u10(double4 x)1609 _CL_ALWAYSINLINE double4 Sleef_tand4_u10(double4 x)
1610 {
1611 union { double4 t; reg256d r; } x_in;
1612 x_in.t = x;
1613 union { double4 t; reg256d r; } ret;
1614 ret.r = Sleef_tand4_u10_intrin(x_in.r);
1615 return ret.t;
1616 }
1617
Sleef_tand4_u35(double4 x)1618 _CL_ALWAYSINLINE double4 Sleef_tand4_u35(double4 x)
1619 {
1620 union { double4 t; reg256d r; } x_in;
1621 x_in.t = x;
1622 union { double4 t; reg256d r; } ret;
1623 ret.r = Sleef_tand4_u35_intrin(x_in.r);
1624 return ret.t;
1625 }
1626 #endif
1627
1628
Sleef_asinf8_u10(float8 x)1629 _CL_ALWAYSINLINE float8 Sleef_asinf8_u10(float8 x)
1630 {
1631 union { float8 t; reg256f r; } x_in;
1632 x_in.t = x;
1633 union { float8 t; reg256f r; } ret;
1634 ret.r = Sleef_asinf8_u10_intrin(x_in.r);
1635 return ret.t;
1636 }
1637
Sleef_asinf8_u35(float8 x)1638 _CL_ALWAYSINLINE float8 Sleef_asinf8_u35(float8 x)
1639 {
1640 union { float8 t; reg256f r; } x_in;
1641 x_in.t = x;
1642 union { float8 t; reg256f r; } ret;
1643 ret.r = Sleef_asinf8_u35_intrin(x_in.r);
1644 return ret.t;
1645 }
1646
1647 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1648
Sleef_asind4_u10(double4 x)1649 _CL_ALWAYSINLINE double4 Sleef_asind4_u10(double4 x)
1650 {
1651 union { double4 t; reg256d r; } x_in;
1652 x_in.t = x;
1653 union { double4 t; reg256d r; } ret;
1654 ret.r = Sleef_asind4_u10_intrin(x_in.r);
1655 return ret.t;
1656 }
1657
Sleef_asind4_u35(double4 x)1658 _CL_ALWAYSINLINE double4 Sleef_asind4_u35(double4 x)
1659 {
1660 union { double4 t; reg256d r; } x_in;
1661 x_in.t = x;
1662 union { double4 t; reg256d r; } ret;
1663 ret.r = Sleef_asind4_u35_intrin(x_in.r);
1664 return ret.t;
1665 }
1666 #endif
1667
1668
Sleef_acosf8_u10(float8 x)1669 _CL_ALWAYSINLINE float8 Sleef_acosf8_u10(float8 x)
1670 {
1671 union { float8 t; reg256f r; } x_in;
1672 x_in.t = x;
1673 union { float8 t; reg256f r; } ret;
1674 ret.r = Sleef_acosf8_u10_intrin(x_in.r);
1675 return ret.t;
1676 }
1677
Sleef_acosf8_u35(float8 x)1678 _CL_ALWAYSINLINE float8 Sleef_acosf8_u35(float8 x)
1679 {
1680 union { float8 t; reg256f r; } x_in;
1681 x_in.t = x;
1682 union { float8 t; reg256f r; } ret;
1683 ret.r = Sleef_acosf8_u35_intrin(x_in.r);
1684 return ret.t;
1685 }
1686
1687 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1688
Sleef_acosd4_u10(double4 x)1689 _CL_ALWAYSINLINE double4 Sleef_acosd4_u10(double4 x)
1690 {
1691 union { double4 t; reg256d r; } x_in;
1692 x_in.t = x;
1693 union { double4 t; reg256d r; } ret;
1694 ret.r = Sleef_acosd4_u10_intrin(x_in.r);
1695 return ret.t;
1696 }
1697
Sleef_acosd4_u35(double4 x)1698 _CL_ALWAYSINLINE double4 Sleef_acosd4_u35(double4 x)
1699 {
1700 union { double4 t; reg256d r; } x_in;
1701 x_in.t = x;
1702 union { double4 t; reg256d r; } ret;
1703 ret.r = Sleef_acosd4_u35_intrin(x_in.r);
1704 return ret.t;
1705 }
1706 #endif
1707
1708
Sleef_atanf8_u10(float8 x)1709 _CL_ALWAYSINLINE float8 Sleef_atanf8_u10(float8 x)
1710 {
1711 union { float8 t; reg256f r; } x_in;
1712 x_in.t = x;
1713 union { float8 t; reg256f r; } ret;
1714 ret.r = Sleef_atanf8_u10_intrin(x_in.r);
1715 return ret.t;
1716 }
1717
Sleef_atanf8_u35(float8 x)1718 _CL_ALWAYSINLINE float8 Sleef_atanf8_u35(float8 x)
1719 {
1720 union { float8 t; reg256f r; } x_in;
1721 x_in.t = x;
1722 union { float8 t; reg256f r; } ret;
1723 ret.r = Sleef_atanf8_u35_intrin(x_in.r);
1724 return ret.t;
1725 }
1726
1727 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1728
Sleef_atand4_u10(double4 x)1729 _CL_ALWAYSINLINE double4 Sleef_atand4_u10(double4 x)
1730 {
1731 union { double4 t; reg256d r; } x_in;
1732 x_in.t = x;
1733 union { double4 t; reg256d r; } ret;
1734 ret.r = Sleef_atand4_u10_intrin(x_in.r);
1735 return ret.t;
1736 }
1737
Sleef_atand4_u35(double4 x)1738 _CL_ALWAYSINLINE double4 Sleef_atand4_u35(double4 x)
1739 {
1740 union { double4 t; reg256d r; } x_in;
1741 x_in.t = x;
1742 union { double4 t; reg256d r; } ret;
1743 ret.r = Sleef_atand4_u35_intrin(x_in.r);
1744 return ret.t;
1745 }
1746 #endif
1747
1748
Sleef_atan2f8_u10(float8 x,float8 y)1749 _CL_ALWAYSINLINE float8 Sleef_atan2f8_u10(float8 x, float8 y)
1750 {
1751 union { float8 t; reg256f r; } x_in;
1752 x_in.t = x;
1753 union { float8 t; reg256f r; } y_in;
1754 y_in.t = y;
1755 union { float8 t; reg256f r; } ret;
1756 ret.r = Sleef_atan2f8_u10_intrin(x_in.r, y_in.r);
1757 return ret.t;
1758 }
1759
Sleef_atan2f8_u35(float8 x,float8 y)1760 _CL_ALWAYSINLINE float8 Sleef_atan2f8_u35(float8 x, float8 y)
1761 {
1762 union { float8 t; reg256f r; } x_in;
1763 x_in.t = x;
1764 union { float8 t; reg256f r; } y_in;
1765 y_in.t = y;
1766 union { float8 t; reg256f r; } ret;
1767 ret.r = Sleef_atan2f8_u35_intrin(x_in.r, y_in.r);
1768 return ret.t;
1769 }
1770
1771 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1772
Sleef_atan2d4_u10(double4 x,double4 y)1773 _CL_ALWAYSINLINE double4 Sleef_atan2d4_u10(double4 x, double4 y)
1774 {
1775 union { double4 t; reg256d r; } x_in;
1776 x_in.t = x;
1777 union { double4 t; reg256d r; } y_in;
1778 y_in.t = y;
1779 union { double4 t; reg256d r; } ret;
1780 ret.r = Sleef_atan2d4_u10_intrin(x_in.r, y_in.r);
1781 return ret.t;
1782 }
1783
Sleef_atan2d4_u35(double4 x,double4 y)1784 _CL_ALWAYSINLINE double4 Sleef_atan2d4_u35(double4 x, double4 y)
1785 {
1786 union { double4 t; reg256d r; } x_in;
1787 x_in.t = x;
1788 union { double4 t; reg256d r; } y_in;
1789 y_in.t = y;
1790 union { double4 t; reg256d r; } ret;
1791 ret.r = Sleef_atan2d4_u35_intrin(x_in.r, y_in.r);
1792 return ret.t;
1793 }
1794 #endif
1795
1796
Sleef_cbrtf8_u10(float8 x)1797 _CL_ALWAYSINLINE float8 Sleef_cbrtf8_u10(float8 x)
1798 {
1799 union { float8 t; reg256f r; } x_in;
1800 x_in.t = x;
1801 union { float8 t; reg256f r; } ret;
1802 ret.r = Sleef_cbrtf8_u10_intrin(x_in.r);
1803 return ret.t;
1804 }
1805
Sleef_cbrtf8_u35(float8 x)1806 _CL_ALWAYSINLINE float8 Sleef_cbrtf8_u35(float8 x)
1807 {
1808 union { float8 t; reg256f r; } x_in;
1809 x_in.t = x;
1810 union { float8 t; reg256f r; } ret;
1811 ret.r = Sleef_cbrtf8_u35_intrin(x_in.r);
1812 return ret.t;
1813 }
1814
1815 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1816
Sleef_cbrtd4_u10(double4 x)1817 _CL_ALWAYSINLINE double4 Sleef_cbrtd4_u10(double4 x)
1818 {
1819 union { double4 t; reg256d r; } x_in;
1820 x_in.t = x;
1821 union { double4 t; reg256d r; } ret;
1822 ret.r = Sleef_cbrtd4_u10_intrin(x_in.r);
1823 return ret.t;
1824 }
1825
Sleef_cbrtd4_u35(double4 x)1826 _CL_ALWAYSINLINE double4 Sleef_cbrtd4_u35(double4 x)
1827 {
1828 union { double4 t; reg256d r; } x_in;
1829 x_in.t = x;
1830 union { double4 t; reg256d r; } ret;
1831 ret.r = Sleef_cbrtd4_u35_intrin(x_in.r);
1832 return ret.t;
1833 }
1834 #endif
1835
1836
Sleef_logf8_u10(float8 x)1837 _CL_ALWAYSINLINE float8 Sleef_logf8_u10(float8 x)
1838 {
1839 union { float8 t; reg256f r; } x_in;
1840 x_in.t = x;
1841 union { float8 t; reg256f r; } ret;
1842 ret.r = Sleef_logf8_u10_intrin(x_in.r);
1843 return ret.t;
1844 }
1845
Sleef_logf8_u35(float8 x)1846 _CL_ALWAYSINLINE float8 Sleef_logf8_u35(float8 x)
1847 {
1848 union { float8 t; reg256f r; } x_in;
1849 x_in.t = x;
1850 union { float8 t; reg256f r; } ret;
1851 ret.r = Sleef_logf8_u35_intrin(x_in.r);
1852 return ret.t;
1853 }
1854
1855 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1856
Sleef_logd4_u10(double4 x)1857 _CL_ALWAYSINLINE double4 Sleef_logd4_u10(double4 x)
1858 {
1859 union { double4 t; reg256d r; } x_in;
1860 x_in.t = x;
1861 union { double4 t; reg256d r; } ret;
1862 ret.r = Sleef_logd4_u10_intrin(x_in.r);
1863 return ret.t;
1864 }
1865
Sleef_logd4_u35(double4 x)1866 _CL_ALWAYSINLINE double4 Sleef_logd4_u35(double4 x)
1867 {
1868 union { double4 t; reg256d r; } x_in;
1869 x_in.t = x;
1870 union { double4 t; reg256d r; } ret;
1871 ret.r = Sleef_logd4_u35_intrin(x_in.r);
1872 return ret.t;
1873 }
1874 #endif
1875
1876
Sleef_expf8_u10(float8 x)1877 _CL_ALWAYSINLINE float8 Sleef_expf8_u10(float8 x)
1878 {
1879 union { float8 t; reg256f r; } x_in;
1880 x_in.t = x;
1881 union { float8 t; reg256f r; } ret;
1882 ret.r = Sleef_expf8_u10_intrin(x_in.r);
1883 return ret.t;
1884 }
1885
1886 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1887
Sleef_expd4_u10(double4 x)1888 _CL_ALWAYSINLINE double4 Sleef_expd4_u10(double4 x)
1889 {
1890 union { double4 t; reg256d r; } x_in;
1891 x_in.t = x;
1892 union { double4 t; reg256d r; } ret;
1893 ret.r = Sleef_expd4_u10_intrin(x_in.r);
1894 return ret.t;
1895 }
1896 #endif
1897
1898
Sleef_powf8_u10(float8 x,float8 y)1899 _CL_ALWAYSINLINE float8 Sleef_powf8_u10(float8 x, float8 y)
1900 {
1901 union { float8 t; reg256f r; } x_in;
1902 x_in.t = x;
1903 union { float8 t; reg256f r; } y_in;
1904 y_in.t = y;
1905 union { float8 t; reg256f r; } ret;
1906 ret.r = Sleef_powf8_u10_intrin(x_in.r, y_in.r);
1907 return ret.t;
1908 }
1909
1910 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1911
Sleef_powd4_u10(double4 x,double4 y)1912 _CL_ALWAYSINLINE double4 Sleef_powd4_u10(double4 x, double4 y)
1913 {
1914 union { double4 t; reg256d r; } x_in;
1915 x_in.t = x;
1916 union { double4 t; reg256d r; } y_in;
1917 y_in.t = y;
1918 union { double4 t; reg256d r; } ret;
1919 ret.r = Sleef_powd4_u10_intrin(x_in.r, y_in.r);
1920 return ret.t;
1921 }
1922 #endif
1923
1924
Sleef_pownf8_u10(float8 x,int8 y)1925 _CL_ALWAYSINLINE float8 Sleef_pownf8_u10(float8 x, int8 y)
1926 {
1927 union { float8 t; reg256f r; } x_in;
1928 x_in.t = x;
1929 union { int8 t; reg256i r; } y_in;
1930 y_in.t = y;
1931 union { float8 t; reg256f r; } ret;
1932 ret.r = Sleef_pownf8_u10_intrin(x_in.r, y_in.r);
1933 return ret.t;
1934 }
1935
1936 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1937
Sleef_pownd4_u10(double4 x,int4 y)1938 _CL_ALWAYSINLINE double4 Sleef_pownd4_u10(double4 x, int4 y)
1939 {
1940 union { double4 t; reg256d r; } x_in;
1941 x_in.t = x;
1942 union { int4 t; reg128i r; } y_in;
1943 y_in.t = y;
1944 union { double4 t; reg256d r; } ret;
1945 ret.r = Sleef_pownd4_u10_intrin(x_in.r, y_in.r);
1946 return ret.t;
1947 }
1948 #endif
1949
1950
Sleef_powrf8_u10(float8 x,float8 y)1951 _CL_ALWAYSINLINE float8 Sleef_powrf8_u10(float8 x, float8 y)
1952 {
1953 union { float8 t; reg256f r; } x_in;
1954 x_in.t = x;
1955 union { float8 t; reg256f r; } y_in;
1956 y_in.t = y;
1957 union { float8 t; reg256f r; } ret;
1958 ret.r = Sleef_powrf8_u10_intrin(x_in.r, y_in.r);
1959 return ret.t;
1960 }
1961
1962 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1963
Sleef_powrd4_u10(double4 x,double4 y)1964 _CL_ALWAYSINLINE double4 Sleef_powrd4_u10(double4 x, double4 y)
1965 {
1966 union { double4 t; reg256d r; } x_in;
1967 x_in.t = x;
1968 union { double4 t; reg256d r; } y_in;
1969 y_in.t = y;
1970 union { double4 t; reg256d r; } ret;
1971 ret.r = Sleef_powrd4_u10_intrin(x_in.r, y_in.r);
1972 return ret.t;
1973 }
1974 #endif
1975
1976
Sleef_sinhf8_u10(float8 x)1977 _CL_ALWAYSINLINE float8 Sleef_sinhf8_u10(float8 x)
1978 {
1979 union { float8 t; reg256f r; } x_in;
1980 x_in.t = x;
1981 union { float8 t; reg256f r; } ret;
1982 ret.r = Sleef_sinhf8_u10_intrin(x_in.r);
1983 return ret.t;
1984 }
1985
1986 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
1987
Sleef_sinhd4_u10(double4 x)1988 _CL_ALWAYSINLINE double4 Sleef_sinhd4_u10(double4 x)
1989 {
1990 union { double4 t; reg256d r; } x_in;
1991 x_in.t = x;
1992 union { double4 t; reg256d r; } ret;
1993 ret.r = Sleef_sinhd4_u10_intrin(x_in.r);
1994 return ret.t;
1995 }
1996 #endif
1997
1998
Sleef_coshf8_u10(float8 x)1999 _CL_ALWAYSINLINE float8 Sleef_coshf8_u10(float8 x)
2000 {
2001 union { float8 t; reg256f r; } x_in;
2002 x_in.t = x;
2003 union { float8 t; reg256f r; } ret;
2004 ret.r = Sleef_coshf8_u10_intrin(x_in.r);
2005 return ret.t;
2006 }
2007
2008 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2009
Sleef_coshd4_u10(double4 x)2010 _CL_ALWAYSINLINE double4 Sleef_coshd4_u10(double4 x)
2011 {
2012 union { double4 t; reg256d r; } x_in;
2013 x_in.t = x;
2014 union { double4 t; reg256d r; } ret;
2015 ret.r = Sleef_coshd4_u10_intrin(x_in.r);
2016 return ret.t;
2017 }
2018 #endif
2019
2020
Sleef_tanhf8_u10(float8 x)2021 _CL_ALWAYSINLINE float8 Sleef_tanhf8_u10(float8 x)
2022 {
2023 union { float8 t; reg256f r; } x_in;
2024 x_in.t = x;
2025 union { float8 t; reg256f r; } ret;
2026 ret.r = Sleef_tanhf8_u10_intrin(x_in.r);
2027 return ret.t;
2028 }
2029
2030 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2031
Sleef_tanhd4_u10(double4 x)2032 _CL_ALWAYSINLINE double4 Sleef_tanhd4_u10(double4 x)
2033 {
2034 union { double4 t; reg256d r; } x_in;
2035 x_in.t = x;
2036 union { double4 t; reg256d r; } ret;
2037 ret.r = Sleef_tanhd4_u10_intrin(x_in.r);
2038 return ret.t;
2039 }
2040 #endif
2041
2042
Sleef_asinhf8_u10(float8 x)2043 _CL_ALWAYSINLINE float8 Sleef_asinhf8_u10(float8 x)
2044 {
2045 union { float8 t; reg256f r; } x_in;
2046 x_in.t = x;
2047 union { float8 t; reg256f r; } ret;
2048 ret.r = Sleef_asinhf8_u10_intrin(x_in.r);
2049 return ret.t;
2050 }
2051
2052 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2053
Sleef_asinhd4_u10(double4 x)2054 _CL_ALWAYSINLINE double4 Sleef_asinhd4_u10(double4 x)
2055 {
2056 union { double4 t; reg256d r; } x_in;
2057 x_in.t = x;
2058 union { double4 t; reg256d r; } ret;
2059 ret.r = Sleef_asinhd4_u10_intrin(x_in.r);
2060 return ret.t;
2061 }
2062 #endif
2063
2064
Sleef_acoshf8_u10(float8 x)2065 _CL_ALWAYSINLINE float8 Sleef_acoshf8_u10(float8 x)
2066 {
2067 union { float8 t; reg256f r; } x_in;
2068 x_in.t = x;
2069 union { float8 t; reg256f r; } ret;
2070 ret.r = Sleef_acoshf8_u10_intrin(x_in.r);
2071 return ret.t;
2072 }
2073
2074 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2075
Sleef_acoshd4_u10(double4 x)2076 _CL_ALWAYSINLINE double4 Sleef_acoshd4_u10(double4 x)
2077 {
2078 union { double4 t; reg256d r; } x_in;
2079 x_in.t = x;
2080 union { double4 t; reg256d r; } ret;
2081 ret.r = Sleef_acoshd4_u10_intrin(x_in.r);
2082 return ret.t;
2083 }
2084 #endif
2085
2086
Sleef_atanhf8_u10(float8 x)2087 _CL_ALWAYSINLINE float8 Sleef_atanhf8_u10(float8 x)
2088 {
2089 union { float8 t; reg256f r; } x_in;
2090 x_in.t = x;
2091 union { float8 t; reg256f r; } ret;
2092 ret.r = Sleef_atanhf8_u10_intrin(x_in.r);
2093 return ret.t;
2094 }
2095
2096 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2097
Sleef_atanhd4_u10(double4 x)2098 _CL_ALWAYSINLINE double4 Sleef_atanhd4_u10(double4 x)
2099 {
2100 union { double4 t; reg256d r; } x_in;
2101 x_in.t = x;
2102 union { double4 t; reg256d r; } ret;
2103 ret.r = Sleef_atanhd4_u10_intrin(x_in.r);
2104 return ret.t;
2105 }
2106 #endif
2107
2108
Sleef_exp2f8_u10(float8 x)2109 _CL_ALWAYSINLINE float8 Sleef_exp2f8_u10(float8 x)
2110 {
2111 union { float8 t; reg256f r; } x_in;
2112 x_in.t = x;
2113 union { float8 t; reg256f r; } ret;
2114 ret.r = Sleef_exp2f8_u10_intrin(x_in.r);
2115 return ret.t;
2116 }
2117
2118 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2119
Sleef_exp2d4_u10(double4 x)2120 _CL_ALWAYSINLINE double4 Sleef_exp2d4_u10(double4 x)
2121 {
2122 union { double4 t; reg256d r; } x_in;
2123 x_in.t = x;
2124 union { double4 t; reg256d r; } ret;
2125 ret.r = Sleef_exp2d4_u10_intrin(x_in.r);
2126 return ret.t;
2127 }
2128 #endif
2129
2130
Sleef_exp10f8_u10(float8 x)2131 _CL_ALWAYSINLINE float8 Sleef_exp10f8_u10(float8 x)
2132 {
2133 union { float8 t; reg256f r; } x_in;
2134 x_in.t = x;
2135 union { float8 t; reg256f r; } ret;
2136 ret.r = Sleef_exp10f8_u10_intrin(x_in.r);
2137 return ret.t;
2138 }
2139
2140 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2141
Sleef_exp10d4_u10(double4 x)2142 _CL_ALWAYSINLINE double4 Sleef_exp10d4_u10(double4 x)
2143 {
2144 union { double4 t; reg256d r; } x_in;
2145 x_in.t = x;
2146 union { double4 t; reg256d r; } ret;
2147 ret.r = Sleef_exp10d4_u10_intrin(x_in.r);
2148 return ret.t;
2149 }
2150 #endif
2151
2152
Sleef_expm1f8_u10(float8 x)2153 _CL_ALWAYSINLINE float8 Sleef_expm1f8_u10(float8 x)
2154 {
2155 union { float8 t; reg256f r; } x_in;
2156 x_in.t = x;
2157 union { float8 t; reg256f r; } ret;
2158 ret.r = Sleef_expm1f8_u10_intrin(x_in.r);
2159 return ret.t;
2160 }
2161
2162 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2163
Sleef_expm1d4_u10(double4 x)2164 _CL_ALWAYSINLINE double4 Sleef_expm1d4_u10(double4 x)
2165 {
2166 union { double4 t; reg256d r; } x_in;
2167 x_in.t = x;
2168 union { double4 t; reg256d r; } ret;
2169 ret.r = Sleef_expm1d4_u10_intrin(x_in.r);
2170 return ret.t;
2171 }
2172 #endif
2173
2174
Sleef_log10f8_u10(float8 x)2175 _CL_ALWAYSINLINE float8 Sleef_log10f8_u10(float8 x)
2176 {
2177 union { float8 t; reg256f r; } x_in;
2178 x_in.t = x;
2179 union { float8 t; reg256f r; } ret;
2180 ret.r = Sleef_log10f8_u10_intrin(x_in.r);
2181 return ret.t;
2182 }
2183
2184 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2185
Sleef_log10d4_u10(double4 x)2186 _CL_ALWAYSINLINE double4 Sleef_log10d4_u10(double4 x)
2187 {
2188 union { double4 t; reg256d r; } x_in;
2189 x_in.t = x;
2190 union { double4 t; reg256d r; } ret;
2191 ret.r = Sleef_log10d4_u10_intrin(x_in.r);
2192 return ret.t;
2193 }
2194 #endif
2195
2196
Sleef_log1pf8_u10(float8 x)2197 _CL_ALWAYSINLINE float8 Sleef_log1pf8_u10(float8 x)
2198 {
2199 union { float8 t; reg256f r; } x_in;
2200 x_in.t = x;
2201 union { float8 t; reg256f r; } ret;
2202 ret.r = Sleef_log1pf8_u10_intrin(x_in.r);
2203 return ret.t;
2204 }
2205
2206 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2207
Sleef_log1pd4_u10(double4 x)2208 _CL_ALWAYSINLINE double4 Sleef_log1pd4_u10(double4 x)
2209 {
2210 union { double4 t; reg256d r; } x_in;
2211 x_in.t = x;
2212 union { double4 t; reg256d r; } ret;
2213 ret.r = Sleef_log1pd4_u10_intrin(x_in.r);
2214 return ret.t;
2215 }
2216 #endif
2217
2218
Sleef_sinpif8_u05(float8 x)2219 _CL_ALWAYSINLINE float8 Sleef_sinpif8_u05(float8 x)
2220 {
2221 union { float8 t; reg256f r; } x_in;
2222 x_in.t = x;
2223 union { float8 t; reg256f r; } ret;
2224 ret.r = Sleef_sinpif8_u05_intrin(x_in.r);
2225 return ret.t;
2226 }
2227
2228 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2229
Sleef_sinpid4_u05(double4 x)2230 _CL_ALWAYSINLINE double4 Sleef_sinpid4_u05(double4 x)
2231 {
2232 union { double4 t; reg256d r; } x_in;
2233 x_in.t = x;
2234 union { double4 t; reg256d r; } ret;
2235 ret.r = Sleef_sinpid4_u05_intrin(x_in.r);
2236 return ret.t;
2237 }
2238 #endif
2239
2240
Sleef_cospif8_u05(float8 x)2241 _CL_ALWAYSINLINE float8 Sleef_cospif8_u05(float8 x)
2242 {
2243 union { float8 t; reg256f r; } x_in;
2244 x_in.t = x;
2245 union { float8 t; reg256f r; } ret;
2246 ret.r = Sleef_cospif8_u05_intrin(x_in.r);
2247 return ret.t;
2248 }
2249
2250 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2251
Sleef_cospid4_u05(double4 x)2252 _CL_ALWAYSINLINE double4 Sleef_cospid4_u05(double4 x)
2253 {
2254 union { double4 t; reg256d r; } x_in;
2255 x_in.t = x;
2256 union { double4 t; reg256d r; } ret;
2257 ret.r = Sleef_cospid4_u05_intrin(x_in.r);
2258 return ret.t;
2259 }
2260 #endif
2261
2262
Sleef_fmaf8(float8 x,float8 y,float8 z)2263 _CL_ALWAYSINLINE float8 Sleef_fmaf8(float8 x, float8 y, float8 z)
2264 {
2265 union { float8 t; reg256f r; } x_in;
2266 x_in.t = x;
2267 union { float8 t; reg256f r; } y_in;
2268 y_in.t = y;
2269 union { float8 t; reg256f r; } z_in;
2270 z_in.t = z;
2271 union { float8 t; reg256f r; } ret;
2272 ret.r = Sleef_fmaf8_intrin(x_in.r, y_in.r, z_in.r);
2273 return ret.t;
2274 }
2275
2276 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2277
Sleef_fmad4(double4 x,double4 y,double4 z)2278 _CL_ALWAYSINLINE double4 Sleef_fmad4(double4 x, double4 y, double4 z)
2279 {
2280 union { double4 t; reg256d r; } x_in;
2281 x_in.t = x;
2282 union { double4 t; reg256d r; } y_in;
2283 y_in.t = y;
2284 union { double4 t; reg256d r; } z_in;
2285 z_in.t = z;
2286 union { double4 t; reg256d r; } ret;
2287 ret.r = Sleef_fmad4_intrin(x_in.r, y_in.r, z_in.r);
2288 return ret.t;
2289 }
2290 #endif
2291
2292
Sleef_sqrtf8_u05(float8 x)2293 _CL_ALWAYSINLINE float8 Sleef_sqrtf8_u05(float8 x)
2294 {
2295 union { float8 t; reg256f r; } x_in;
2296 x_in.t = x;
2297 union { float8 t; reg256f r; } ret;
2298 ret.r = Sleef_sqrtf8_u05_intrin(x_in.r);
2299 return ret.t;
2300 }
2301
2302 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2303
Sleef_sqrtd4_u05(double4 x)2304 _CL_ALWAYSINLINE double4 Sleef_sqrtd4_u05(double4 x)
2305 {
2306 union { double4 t; reg256d r; } x_in;
2307 x_in.t = x;
2308 union { double4 t; reg256d r; } ret;
2309 ret.r = Sleef_sqrtd4_u05_intrin(x_in.r);
2310 return ret.t;
2311 }
2312 #endif
2313
2314
Sleef_hypotf8_u05(float8 x,float8 y)2315 _CL_ALWAYSINLINE float8 Sleef_hypotf8_u05(float8 x, float8 y)
2316 {
2317 union { float8 t; reg256f r; } x_in;
2318 x_in.t = x;
2319 union { float8 t; reg256f r; } y_in;
2320 y_in.t = y;
2321 union { float8 t; reg256f r; } ret;
2322 ret.r = Sleef_hypotf8_u05_intrin(x_in.r, y_in.r);
2323 return ret.t;
2324 }
2325
Sleef_hypotf8_u35(float8 x,float8 y)2326 _CL_ALWAYSINLINE float8 Sleef_hypotf8_u35(float8 x, float8 y)
2327 {
2328 union { float8 t; reg256f r; } x_in;
2329 x_in.t = x;
2330 union { float8 t; reg256f r; } y_in;
2331 y_in.t = y;
2332 union { float8 t; reg256f r; } ret;
2333 ret.r = Sleef_hypotf8_u35_intrin(x_in.r, y_in.r);
2334 return ret.t;
2335 }
2336
2337 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2338
Sleef_hypotd4_u05(double4 x,double4 y)2339 _CL_ALWAYSINLINE double4 Sleef_hypotd4_u05(double4 x, double4 y)
2340 {
2341 union { double4 t; reg256d r; } x_in;
2342 x_in.t = x;
2343 union { double4 t; reg256d r; } y_in;
2344 y_in.t = y;
2345 union { double4 t; reg256d r; } ret;
2346 ret.r = Sleef_hypotd4_u05_intrin(x_in.r, y_in.r);
2347 return ret.t;
2348 }
2349
Sleef_hypotd4_u35(double4 x,double4 y)2350 _CL_ALWAYSINLINE double4 Sleef_hypotd4_u35(double4 x, double4 y)
2351 {
2352 union { double4 t; reg256d r; } x_in;
2353 x_in.t = x;
2354 union { double4 t; reg256d r; } y_in;
2355 y_in.t = y;
2356 union { double4 t; reg256d r; } ret;
2357 ret.r = Sleef_hypotd4_u35_intrin(x_in.r, y_in.r);
2358 return ret.t;
2359 }
2360 #endif
2361
2362
Sleef_fabsf8(float8 x)2363 _CL_ALWAYSINLINE float8 Sleef_fabsf8(float8 x)
2364 {
2365 union { float8 t; reg256f r; } x_in;
2366 x_in.t = x;
2367 union { float8 t; reg256f r; } ret;
2368 ret.r = Sleef_fabsf8_intrin(x_in.r);
2369 return ret.t;
2370 }
2371
2372 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2373
Sleef_fabsd4(double4 x)2374 _CL_ALWAYSINLINE double4 Sleef_fabsd4(double4 x)
2375 {
2376 union { double4 t; reg256d r; } x_in;
2377 x_in.t = x;
2378 union { double4 t; reg256d r; } ret;
2379 ret.r = Sleef_fabsd4_intrin(x_in.r);
2380 return ret.t;
2381 }
2382 #endif
2383
2384
Sleef_copysignf8(float8 x,float8 y)2385 _CL_ALWAYSINLINE float8 Sleef_copysignf8(float8 x, float8 y)
2386 {
2387 union { float8 t; reg256f r; } x_in;
2388 x_in.t = x;
2389 union { float8 t; reg256f r; } y_in;
2390 y_in.t = y;
2391 union { float8 t; reg256f r; } ret;
2392 ret.r = Sleef_copysignf8_intrin(x_in.r, y_in.r);
2393 return ret.t;
2394 }
2395
2396 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2397
Sleef_copysignd4(double4 x,double4 y)2398 _CL_ALWAYSINLINE double4 Sleef_copysignd4(double4 x, double4 y)
2399 {
2400 union { double4 t; reg256d r; } x_in;
2401 x_in.t = x;
2402 union { double4 t; reg256d r; } y_in;
2403 y_in.t = y;
2404 union { double4 t; reg256d r; } ret;
2405 ret.r = Sleef_copysignd4_intrin(x_in.r, y_in.r);
2406 return ret.t;
2407 }
2408 #endif
2409
2410
Sleef_fmaxf8(float8 x,float8 y)2411 _CL_ALWAYSINLINE float8 Sleef_fmaxf8(float8 x, float8 y)
2412 {
2413 union { float8 t; reg256f r; } x_in;
2414 x_in.t = x;
2415 union { float8 t; reg256f r; } y_in;
2416 y_in.t = y;
2417 union { float8 t; reg256f r; } ret;
2418 ret.r = Sleef_fmaxf8_intrin(x_in.r, y_in.r);
2419 return ret.t;
2420 }
2421
2422 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2423
Sleef_fmaxd4(double4 x,double4 y)2424 _CL_ALWAYSINLINE double4 Sleef_fmaxd4(double4 x, double4 y)
2425 {
2426 union { double4 t; reg256d r; } x_in;
2427 x_in.t = x;
2428 union { double4 t; reg256d r; } y_in;
2429 y_in.t = y;
2430 union { double4 t; reg256d r; } ret;
2431 ret.r = Sleef_fmaxd4_intrin(x_in.r, y_in.r);
2432 return ret.t;
2433 }
2434 #endif
2435
2436
Sleef_fminf8(float8 x,float8 y)2437 _CL_ALWAYSINLINE float8 Sleef_fminf8(float8 x, float8 y)
2438 {
2439 union { float8 t; reg256f r; } x_in;
2440 x_in.t = x;
2441 union { float8 t; reg256f r; } y_in;
2442 y_in.t = y;
2443 union { float8 t; reg256f r; } ret;
2444 ret.r = Sleef_fminf8_intrin(x_in.r, y_in.r);
2445 return ret.t;
2446 }
2447
2448 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2449
Sleef_fmind4(double4 x,double4 y)2450 _CL_ALWAYSINLINE double4 Sleef_fmind4(double4 x, double4 y)
2451 {
2452 union { double4 t; reg256d r; } x_in;
2453 x_in.t = x;
2454 union { double4 t; reg256d r; } y_in;
2455 y_in.t = y;
2456 union { double4 t; reg256d r; } ret;
2457 ret.r = Sleef_fmind4_intrin(x_in.r, y_in.r);
2458 return ret.t;
2459 }
2460 #endif
2461
2462
Sleef_fdimf8(float8 x,float8 y)2463 _CL_ALWAYSINLINE float8 Sleef_fdimf8(float8 x, float8 y)
2464 {
2465 union { float8 t; reg256f r; } x_in;
2466 x_in.t = x;
2467 union { float8 t; reg256f r; } y_in;
2468 y_in.t = y;
2469 union { float8 t; reg256f r; } ret;
2470 ret.r = Sleef_fdimf8_intrin(x_in.r, y_in.r);
2471 return ret.t;
2472 }
2473
2474 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2475
Sleef_fdimd4(double4 x,double4 y)2476 _CL_ALWAYSINLINE double4 Sleef_fdimd4(double4 x, double4 y)
2477 {
2478 union { double4 t; reg256d r; } x_in;
2479 x_in.t = x;
2480 union { double4 t; reg256d r; } y_in;
2481 y_in.t = y;
2482 union { double4 t; reg256d r; } ret;
2483 ret.r = Sleef_fdimd4_intrin(x_in.r, y_in.r);
2484 return ret.t;
2485 }
2486 #endif
2487
2488
Sleef_truncf8(float8 x)2489 _CL_ALWAYSINLINE float8 Sleef_truncf8(float8 x)
2490 {
2491 union { float8 t; reg256f r; } x_in;
2492 x_in.t = x;
2493 union { float8 t; reg256f r; } ret;
2494 ret.r = Sleef_truncf8_intrin(x_in.r);
2495 return ret.t;
2496 }
2497
2498 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2499
Sleef_truncd4(double4 x)2500 _CL_ALWAYSINLINE double4 Sleef_truncd4(double4 x)
2501 {
2502 union { double4 t; reg256d r; } x_in;
2503 x_in.t = x;
2504 union { double4 t; reg256d r; } ret;
2505 ret.r = Sleef_truncd4_intrin(x_in.r);
2506 return ret.t;
2507 }
2508 #endif
2509
2510
Sleef_floorf8(float8 x)2511 _CL_ALWAYSINLINE float8 Sleef_floorf8(float8 x)
2512 {
2513 union { float8 t; reg256f r; } x_in;
2514 x_in.t = x;
2515 union { float8 t; reg256f r; } ret;
2516 ret.r = Sleef_floorf8_intrin(x_in.r);
2517 return ret.t;
2518 }
2519
2520 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2521
Sleef_floord4(double4 x)2522 _CL_ALWAYSINLINE double4 Sleef_floord4(double4 x)
2523 {
2524 union { double4 t; reg256d r; } x_in;
2525 x_in.t = x;
2526 union { double4 t; reg256d r; } ret;
2527 ret.r = Sleef_floord4_intrin(x_in.r);
2528 return ret.t;
2529 }
2530 #endif
2531
2532
Sleef_ceilf8(float8 x)2533 _CL_ALWAYSINLINE float8 Sleef_ceilf8(float8 x)
2534 {
2535 union { float8 t; reg256f r; } x_in;
2536 x_in.t = x;
2537 union { float8 t; reg256f r; } ret;
2538 ret.r = Sleef_ceilf8_intrin(x_in.r);
2539 return ret.t;
2540 }
2541
2542 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2543
Sleef_ceild4(double4 x)2544 _CL_ALWAYSINLINE double4 Sleef_ceild4(double4 x)
2545 {
2546 union { double4 t; reg256d r; } x_in;
2547 x_in.t = x;
2548 union { double4 t; reg256d r; } ret;
2549 ret.r = Sleef_ceild4_intrin(x_in.r);
2550 return ret.t;
2551 }
2552 #endif
2553
2554
Sleef_roundf8(float8 x)2555 _CL_ALWAYSINLINE float8 Sleef_roundf8(float8 x)
2556 {
2557 union { float8 t; reg256f r; } x_in;
2558 x_in.t = x;
2559 union { float8 t; reg256f r; } ret;
2560 ret.r = Sleef_roundf8_intrin(x_in.r);
2561 return ret.t;
2562 }
2563
2564 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2565
Sleef_roundd4(double4 x)2566 _CL_ALWAYSINLINE double4 Sleef_roundd4(double4 x)
2567 {
2568 union { double4 t; reg256d r; } x_in;
2569 x_in.t = x;
2570 union { double4 t; reg256d r; } ret;
2571 ret.r = Sleef_roundd4_intrin(x_in.r);
2572 return ret.t;
2573 }
2574 #endif
2575
2576
Sleef_rintf8(float8 x)2577 _CL_ALWAYSINLINE float8 Sleef_rintf8(float8 x)
2578 {
2579 union { float8 t; reg256f r; } x_in;
2580 x_in.t = x;
2581 union { float8 t; reg256f r; } ret;
2582 ret.r = Sleef_rintf8_intrin(x_in.r);
2583 return ret.t;
2584 }
2585
2586 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2587
Sleef_rintd4(double4 x)2588 _CL_ALWAYSINLINE double4 Sleef_rintd4(double4 x)
2589 {
2590 union { double4 t; reg256d r; } x_in;
2591 x_in.t = x;
2592 union { double4 t; reg256d r; } ret;
2593 ret.r = Sleef_rintd4_intrin(x_in.r);
2594 return ret.t;
2595 }
2596 #endif
2597
2598
Sleef_nextafterf8(float8 x,float8 y)2599 _CL_ALWAYSINLINE float8 Sleef_nextafterf8(float8 x, float8 y)
2600 {
2601 union { float8 t; reg256f r; } x_in;
2602 x_in.t = x;
2603 union { float8 t; reg256f r; } y_in;
2604 y_in.t = y;
2605 union { float8 t; reg256f r; } ret;
2606 ret.r = Sleef_nextafterf8_intrin(x_in.r, y_in.r);
2607 return ret.t;
2608 }
2609
2610 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2611
Sleef_nextafterd4(double4 x,double4 y)2612 _CL_ALWAYSINLINE double4 Sleef_nextafterd4(double4 x, double4 y)
2613 {
2614 union { double4 t; reg256d r; } x_in;
2615 x_in.t = x;
2616 union { double4 t; reg256d r; } y_in;
2617 y_in.t = y;
2618 union { double4 t; reg256d r; } ret;
2619 ret.r = Sleef_nextafterd4_intrin(x_in.r, y_in.r);
2620 return ret.t;
2621 }
2622 #endif
2623
2624
Sleef_fmodf8(float8 x,float8 y)2625 _CL_ALWAYSINLINE float8 Sleef_fmodf8(float8 x, float8 y)
2626 {
2627 union { float8 t; reg256f r; } x_in;
2628 x_in.t = x;
2629 union { float8 t; reg256f r; } y_in;
2630 y_in.t = y;
2631 union { float8 t; reg256f r; } ret;
2632 ret.r = Sleef_fmodf8_intrin(x_in.r, y_in.r);
2633 return ret.t;
2634 }
2635
2636 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2637
Sleef_fmodd4(double4 x,double4 y)2638 _CL_ALWAYSINLINE double4 Sleef_fmodd4(double4 x, double4 y)
2639 {
2640 union { double4 t; reg256d r; } x_in;
2641 x_in.t = x;
2642 union { double4 t; reg256d r; } y_in;
2643 y_in.t = y;
2644 union { double4 t; reg256d r; } ret;
2645 ret.r = Sleef_fmodd4_intrin(x_in.r, y_in.r);
2646 return ret.t;
2647 }
2648 #endif
2649
2650
Sleef_lgammaf8_u10(float8 x)2651 _CL_ALWAYSINLINE float8 Sleef_lgammaf8_u10(float8 x)
2652 {
2653 union { float8 t; reg256f r; } x_in;
2654 x_in.t = x;
2655 union { float8 t; reg256f r; } ret;
2656 ret.r = Sleef_lgammaf8_u10_intrin(x_in.r);
2657 return ret.t;
2658 }
2659
2660 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2661
Sleef_lgammad4_u10(double4 x)2662 _CL_ALWAYSINLINE double4 Sleef_lgammad4_u10(double4 x)
2663 {
2664 union { double4 t; reg256d r; } x_in;
2665 x_in.t = x;
2666 union { double4 t; reg256d r; } ret;
2667 ret.r = Sleef_lgammad4_u10_intrin(x_in.r);
2668 return ret.t;
2669 }
2670 #endif
2671
2672
Sleef_lgamma_rf8_u10(float8 x)2673 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_lgamma_rf8_u10(float8 x)
2674 {
2675 union { float8 t; reg256f r; } x_in;
2676 x_in.t = x;
2677 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2678 ret.r = Sleef_lgamma_rf8_u10_intrin(x_in.r);
2679 return ret.t;
2680 }
2681
2682 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2683
Sleef_lgamma_rd4_u10(double4 x)2684 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_lgamma_rd4_u10(double4 x)
2685 {
2686 union { double4 t; reg256d r; } x_in;
2687 x_in.t = x;
2688 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2689 ret.r = Sleef_lgamma_rd4_u10_intrin(x_in.r);
2690 return ret.t;
2691 }
2692 #endif
2693
2694
Sleef_tgammaf8_u10(float8 x)2695 _CL_ALWAYSINLINE float8 Sleef_tgammaf8_u10(float8 x)
2696 {
2697 union { float8 t; reg256f r; } x_in;
2698 x_in.t = x;
2699 union { float8 t; reg256f r; } ret;
2700 ret.r = Sleef_tgammaf8_u10_intrin(x_in.r);
2701 return ret.t;
2702 }
2703
2704 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2705
Sleef_tgammad4_u10(double4 x)2706 _CL_ALWAYSINLINE double4 Sleef_tgammad4_u10(double4 x)
2707 {
2708 union { double4 t; reg256d r; } x_in;
2709 x_in.t = x;
2710 union { double4 t; reg256d r; } ret;
2711 ret.r = Sleef_tgammad4_u10_intrin(x_in.r);
2712 return ret.t;
2713 }
2714 #endif
2715
2716
Sleef_erff8_u10(float8 x)2717 _CL_ALWAYSINLINE float8 Sleef_erff8_u10(float8 x)
2718 {
2719 union { float8 t; reg256f r; } x_in;
2720 x_in.t = x;
2721 union { float8 t; reg256f r; } ret;
2722 ret.r = Sleef_erff8_u10_intrin(x_in.r);
2723 return ret.t;
2724 }
2725
2726 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2727
Sleef_erfd4_u10(double4 x)2728 _CL_ALWAYSINLINE double4 Sleef_erfd4_u10(double4 x)
2729 {
2730 union { double4 t; reg256d r; } x_in;
2731 x_in.t = x;
2732 union { double4 t; reg256d r; } ret;
2733 ret.r = Sleef_erfd4_u10_intrin(x_in.r);
2734 return ret.t;
2735 }
2736 #endif
2737
2738
Sleef_erfcf8_u15(float8 x)2739 _CL_ALWAYSINLINE float8 Sleef_erfcf8_u15(float8 x)
2740 {
2741 union { float8 t; reg256f r; } x_in;
2742 x_in.t = x;
2743 union { float8 t; reg256f r; } ret;
2744 ret.r = Sleef_erfcf8_u15_intrin(x_in.r);
2745 return ret.t;
2746 }
2747
2748 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2749
Sleef_erfcd4_u15(double4 x)2750 _CL_ALWAYSINLINE double4 Sleef_erfcd4_u15(double4 x)
2751 {
2752 union { double4 t; reg256d r; } x_in;
2753 x_in.t = x;
2754 union { double4 t; reg256d r; } ret;
2755 ret.r = Sleef_erfcd4_u15_intrin(x_in.r);
2756 return ret.t;
2757 }
2758 #endif
2759
2760
Sleef_frfrexpf8(float8 x)2761 _CL_ALWAYSINLINE float8 Sleef_frfrexpf8(float8 x)
2762 {
2763 union { float8 t; reg256f r; } x_in;
2764 x_in.t = x;
2765 union { float8 t; reg256f r; } ret;
2766 ret.r = Sleef_frfrexpf8_intrin(x_in.r);
2767 return ret.t;
2768 }
2769
2770 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2771
Sleef_frfrexpd4(double4 x)2772 _CL_ALWAYSINLINE double4 Sleef_frfrexpd4(double4 x)
2773 {
2774 union { double4 t; reg256d r; } x_in;
2775 x_in.t = x;
2776 union { double4 t; reg256d r; } ret;
2777 ret.r = Sleef_frfrexpd4_intrin(x_in.r);
2778 return ret.t;
2779 }
2780 #endif
2781
2782
Sleef_sincosf8_u10(float8 x)2783 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincosf8_u10(float8 x)
2784 {
2785 union { float8 t; reg256f r; } x_in;
2786 x_in.t = x;
2787 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2788 ret.r = Sleef_sincosf8_u10_intrin(x_in.r);
2789 return ret.t;
2790 }
2791
Sleef_sincosf8_u35(float8 x)2792 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincosf8_u35(float8 x)
2793 {
2794 union { float8 t; reg256f r; } x_in;
2795 x_in.t = x;
2796 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2797 ret.r = Sleef_sincosf8_u35_intrin(x_in.r);
2798 return ret.t;
2799 }
2800
2801 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2802
Sleef_sincosd4_u10(double4 x)2803 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincosd4_u10(double4 x)
2804 {
2805 union { double4 t; reg256d r; } x_in;
2806 x_in.t = x;
2807 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2808 ret.r = Sleef_sincosd4_u10_intrin(x_in.r);
2809 return ret.t;
2810 }
2811
Sleef_sincosd4_u35(double4 x)2812 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincosd4_u35(double4 x)
2813 {
2814 union { double4 t; reg256d r; } x_in;
2815 x_in.t = x;
2816 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2817 ret.r = Sleef_sincosd4_u35_intrin(x_in.r);
2818 return ret.t;
2819 }
2820 #endif
2821
2822
Sleef_sincospif8_u05(float8 x)2823 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincospif8_u05(float8 x)
2824 {
2825 union { float8 t; reg256f r; } x_in;
2826 x_in.t = x;
2827 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2828 ret.r = Sleef_sincospif8_u05_intrin(x_in.r);
2829 return ret.t;
2830 }
2831
Sleef_sincospif8_u35(float8 x)2832 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_sincospif8_u35(float8 x)
2833 {
2834 union { float8 t; reg256f r; } x_in;
2835 x_in.t = x;
2836 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2837 ret.r = Sleef_sincospif8_u35_intrin(x_in.r);
2838 return ret.t;
2839 }
2840
2841 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2842
Sleef_sincospid4_u05(double4 x)2843 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincospid4_u05(double4 x)
2844 {
2845 union { double4 t; reg256d r; } x_in;
2846 x_in.t = x;
2847 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2848 ret.r = Sleef_sincospid4_u05_intrin(x_in.r);
2849 return ret.t;
2850 }
2851
Sleef_sincospid4_u35(double4 x)2852 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_sincospid4_u35(double4 x)
2853 {
2854 union { double4 t; reg256d r; } x_in;
2855 x_in.t = x;
2856 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2857 ret.r = Sleef_sincospid4_u35_intrin(x_in.r);
2858 return ret.t;
2859 }
2860 #endif
2861
2862
Sleef_modff8(float8 x)2863 _CL_ALWAYSINLINE Sleef_float8_2 Sleef_modff8(float8 x)
2864 {
2865 union { float8 t; reg256f r; } x_in;
2866 x_in.t = x;
2867 union { Sleef_float8_2 t; Sleef_reg256f_2 r; } ret;
2868 ret.r = Sleef_modff8_intrin(x_in.r);
2869 return ret.t;
2870 }
2871
2872 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2873
Sleef_modfd4(double4 x)2874 _CL_ALWAYSINLINE Sleef_double4_2 Sleef_modfd4(double4 x)
2875 {
2876 union { double4 t; reg256d r; } x_in;
2877 x_in.t = x;
2878 union { Sleef_double4_2 t; Sleef_reg256d_2 r; } ret;
2879 ret.r = Sleef_modfd4_intrin(x_in.r);
2880 return ret.t;
2881 }
2882 #endif
2883
2884
Sleef_ldexpf8(float8 x,int8 k)2885 _CL_ALWAYSINLINE float8 Sleef_ldexpf8(float8 x, int8 k)
2886 {
2887 union { float8 t; reg256f r; } x_in;
2888 x_in.t = x;
2889 union { int8 t; reg256i r; } k_in;
2890 k_in.t = k;
2891 union { float8 t; reg256f r; } ret;
2892 ret.r = Sleef_ldexpf8_intrin(x_in.r, k_in.r);
2893 return ret.t;
2894 }
2895
2896 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2897
Sleef_ldexpd4(double4 x,int4 k)2898 _CL_ALWAYSINLINE double4 Sleef_ldexpd4(double4 x, int4 k)
2899 {
2900 union { double4 t; reg256d r; } x_in;
2901 x_in.t = x;
2902 union { int4 t; reg128i r; } k_in;
2903 k_in.t = k;
2904 union { double4 t; reg256d r; } ret;
2905 ret.r = Sleef_ldexpd4_intrin(x_in.r, k_in.r);
2906 return ret.t;
2907 }
2908 #endif
2909
2910
Sleef_expfrexpf8(float8 x)2911 _CL_ALWAYSINLINE int8 Sleef_expfrexpf8(float8 x)
2912 {
2913 union { float8 t; reg256f r; } x_in;
2914 x_in.t = x;
2915 union { int8 t; reg256i r; } ret;
2916 ret.r = Sleef_expfrexpf8_intrin(x_in.r);
2917 return ret.t;
2918 }
2919
2920 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2921
Sleef_expfrexpd4_long(double4 x)2922 _CL_ALWAYSINLINE long4 Sleef_expfrexpd4_long(double4 x)
2923 {
2924 union { double4 t; reg256d r; } x_in;
2925 x_in.t = x;
2926 union { long4 t; reg256i r; } ret;
2927 ret.r = Sleef_expfrexpd4_intrin(x_in.r);
2928 return ret.t;
2929 }
2930 #endif
2931
2932
Sleef_ilogbf8(float8 x)2933 _CL_ALWAYSINLINE int8 Sleef_ilogbf8(float8 x)
2934 {
2935 union { float8 t; reg256f r; } x_in;
2936 x_in.t = x;
2937 union { int8 t; reg256i r; } ret;
2938 ret.r = Sleef_ilogbf8_intrin(x_in.r);
2939 return ret.t;
2940 }
2941
2942 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2943
Sleef_ilogbd4(double4 x)2944 _CL_ALWAYSINLINE int4 Sleef_ilogbd4(double4 x)
2945 {
2946 union { double4 t; reg256d r; } x_in;
2947 x_in.t = x;
2948 union { int4 t; reg128i r; } ret;
2949 ret.r = Sleef_ilogbd4_intrin(x_in.r);
2950 return ret.t;
2951 }
2952 #endif
2953
2954 #endif
2955
2956
2957 #ifdef SLEEF_VEC_512_AVAILABLE
2958
Sleef_sinf16_u10(float16 x)2959 _CL_ALWAYSINLINE float16 Sleef_sinf16_u10(float16 x)
2960 {
2961 union { float16 t; reg512f r; } x_in;
2962 x_in.t = x;
2963 union { float16 t; reg512f r; } ret;
2964 ret.r = Sleef_sinf16_u10_intrin(x_in.r);
2965 return ret.t;
2966 }
2967
Sleef_sinf16_u35(float16 x)2968 _CL_ALWAYSINLINE float16 Sleef_sinf16_u35(float16 x)
2969 {
2970 union { float16 t; reg512f r; } x_in;
2971 x_in.t = x;
2972 union { float16 t; reg512f r; } ret;
2973 ret.r = Sleef_sinf16_u35_intrin(x_in.r);
2974 return ret.t;
2975 }
2976
2977 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
2978
Sleef_sind8_u10(double8 x)2979 _CL_ALWAYSINLINE double8 Sleef_sind8_u10(double8 x)
2980 {
2981 union { double8 t; reg512d r; } x_in;
2982 x_in.t = x;
2983 union { double8 t; reg512d r; } ret;
2984 ret.r = Sleef_sind8_u10_intrin(x_in.r);
2985 return ret.t;
2986 }
2987
Sleef_sind8_u35(double8 x)2988 _CL_ALWAYSINLINE double8 Sleef_sind8_u35(double8 x)
2989 {
2990 union { double8 t; reg512d r; } x_in;
2991 x_in.t = x;
2992 union { double8 t; reg512d r; } ret;
2993 ret.r = Sleef_sind8_u35_intrin(x_in.r);
2994 return ret.t;
2995 }
2996 #endif
2997
2998
Sleef_cosf16_u10(float16 x)2999 _CL_ALWAYSINLINE float16 Sleef_cosf16_u10(float16 x)
3000 {
3001 union { float16 t; reg512f r; } x_in;
3002 x_in.t = x;
3003 union { float16 t; reg512f r; } ret;
3004 ret.r = Sleef_cosf16_u10_intrin(x_in.r);
3005 return ret.t;
3006 }
3007
Sleef_cosf16_u35(float16 x)3008 _CL_ALWAYSINLINE float16 Sleef_cosf16_u35(float16 x)
3009 {
3010 union { float16 t; reg512f r; } x_in;
3011 x_in.t = x;
3012 union { float16 t; reg512f r; } ret;
3013 ret.r = Sleef_cosf16_u35_intrin(x_in.r);
3014 return ret.t;
3015 }
3016
3017 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3018
Sleef_cosd8_u10(double8 x)3019 _CL_ALWAYSINLINE double8 Sleef_cosd8_u10(double8 x)
3020 {
3021 union { double8 t; reg512d r; } x_in;
3022 x_in.t = x;
3023 union { double8 t; reg512d r; } ret;
3024 ret.r = Sleef_cosd8_u10_intrin(x_in.r);
3025 return ret.t;
3026 }
3027
Sleef_cosd8_u35(double8 x)3028 _CL_ALWAYSINLINE double8 Sleef_cosd8_u35(double8 x)
3029 {
3030 union { double8 t; reg512d r; } x_in;
3031 x_in.t = x;
3032 union { double8 t; reg512d r; } ret;
3033 ret.r = Sleef_cosd8_u35_intrin(x_in.r);
3034 return ret.t;
3035 }
3036 #endif
3037
3038
Sleef_tanf16_u10(float16 x)3039 _CL_ALWAYSINLINE float16 Sleef_tanf16_u10(float16 x)
3040 {
3041 union { float16 t; reg512f r; } x_in;
3042 x_in.t = x;
3043 union { float16 t; reg512f r; } ret;
3044 ret.r = Sleef_tanf16_u10_intrin(x_in.r);
3045 return ret.t;
3046 }
3047
Sleef_tanf16_u35(float16 x)3048 _CL_ALWAYSINLINE float16 Sleef_tanf16_u35(float16 x)
3049 {
3050 union { float16 t; reg512f r; } x_in;
3051 x_in.t = x;
3052 union { float16 t; reg512f r; } ret;
3053 ret.r = Sleef_tanf16_u35_intrin(x_in.r);
3054 return ret.t;
3055 }
3056
3057 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3058
Sleef_tand8_u10(double8 x)3059 _CL_ALWAYSINLINE double8 Sleef_tand8_u10(double8 x)
3060 {
3061 union { double8 t; reg512d r; } x_in;
3062 x_in.t = x;
3063 union { double8 t; reg512d r; } ret;
3064 ret.r = Sleef_tand8_u10_intrin(x_in.r);
3065 return ret.t;
3066 }
3067
Sleef_tand8_u35(double8 x)3068 _CL_ALWAYSINLINE double8 Sleef_tand8_u35(double8 x)
3069 {
3070 union { double8 t; reg512d r; } x_in;
3071 x_in.t = x;
3072 union { double8 t; reg512d r; } ret;
3073 ret.r = Sleef_tand8_u35_intrin(x_in.r);
3074 return ret.t;
3075 }
3076 #endif
3077
3078
Sleef_asinf16_u10(float16 x)3079 _CL_ALWAYSINLINE float16 Sleef_asinf16_u10(float16 x)
3080 {
3081 union { float16 t; reg512f r; } x_in;
3082 x_in.t = x;
3083 union { float16 t; reg512f r; } ret;
3084 ret.r = Sleef_asinf16_u10_intrin(x_in.r);
3085 return ret.t;
3086 }
3087
Sleef_asinf16_u35(float16 x)3088 _CL_ALWAYSINLINE float16 Sleef_asinf16_u35(float16 x)
3089 {
3090 union { float16 t; reg512f r; } x_in;
3091 x_in.t = x;
3092 union { float16 t; reg512f r; } ret;
3093 ret.r = Sleef_asinf16_u35_intrin(x_in.r);
3094 return ret.t;
3095 }
3096
3097 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3098
Sleef_asind8_u10(double8 x)3099 _CL_ALWAYSINLINE double8 Sleef_asind8_u10(double8 x)
3100 {
3101 union { double8 t; reg512d r; } x_in;
3102 x_in.t = x;
3103 union { double8 t; reg512d r; } ret;
3104 ret.r = Sleef_asind8_u10_intrin(x_in.r);
3105 return ret.t;
3106 }
3107
Sleef_asind8_u35(double8 x)3108 _CL_ALWAYSINLINE double8 Sleef_asind8_u35(double8 x)
3109 {
3110 union { double8 t; reg512d r; } x_in;
3111 x_in.t = x;
3112 union { double8 t; reg512d r; } ret;
3113 ret.r = Sleef_asind8_u35_intrin(x_in.r);
3114 return ret.t;
3115 }
3116 #endif
3117
3118
Sleef_acosf16_u10(float16 x)3119 _CL_ALWAYSINLINE float16 Sleef_acosf16_u10(float16 x)
3120 {
3121 union { float16 t; reg512f r; } x_in;
3122 x_in.t = x;
3123 union { float16 t; reg512f r; } ret;
3124 ret.r = Sleef_acosf16_u10_intrin(x_in.r);
3125 return ret.t;
3126 }
3127
Sleef_acosf16_u35(float16 x)3128 _CL_ALWAYSINLINE float16 Sleef_acosf16_u35(float16 x)
3129 {
3130 union { float16 t; reg512f r; } x_in;
3131 x_in.t = x;
3132 union { float16 t; reg512f r; } ret;
3133 ret.r = Sleef_acosf16_u35_intrin(x_in.r);
3134 return ret.t;
3135 }
3136
3137 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3138
Sleef_acosd8_u10(double8 x)3139 _CL_ALWAYSINLINE double8 Sleef_acosd8_u10(double8 x)
3140 {
3141 union { double8 t; reg512d r; } x_in;
3142 x_in.t = x;
3143 union { double8 t; reg512d r; } ret;
3144 ret.r = Sleef_acosd8_u10_intrin(x_in.r);
3145 return ret.t;
3146 }
3147
Sleef_acosd8_u35(double8 x)3148 _CL_ALWAYSINLINE double8 Sleef_acosd8_u35(double8 x)
3149 {
3150 union { double8 t; reg512d r; } x_in;
3151 x_in.t = x;
3152 union { double8 t; reg512d r; } ret;
3153 ret.r = Sleef_acosd8_u35_intrin(x_in.r);
3154 return ret.t;
3155 }
3156 #endif
3157
3158
Sleef_atanf16_u10(float16 x)3159 _CL_ALWAYSINLINE float16 Sleef_atanf16_u10(float16 x)
3160 {
3161 union { float16 t; reg512f r; } x_in;
3162 x_in.t = x;
3163 union { float16 t; reg512f r; } ret;
3164 ret.r = Sleef_atanf16_u10_intrin(x_in.r);
3165 return ret.t;
3166 }
3167
Sleef_atanf16_u35(float16 x)3168 _CL_ALWAYSINLINE float16 Sleef_atanf16_u35(float16 x)
3169 {
3170 union { float16 t; reg512f r; } x_in;
3171 x_in.t = x;
3172 union { float16 t; reg512f r; } ret;
3173 ret.r = Sleef_atanf16_u35_intrin(x_in.r);
3174 return ret.t;
3175 }
3176
3177 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3178
Sleef_atand8_u10(double8 x)3179 _CL_ALWAYSINLINE double8 Sleef_atand8_u10(double8 x)
3180 {
3181 union { double8 t; reg512d r; } x_in;
3182 x_in.t = x;
3183 union { double8 t; reg512d r; } ret;
3184 ret.r = Sleef_atand8_u10_intrin(x_in.r);
3185 return ret.t;
3186 }
3187
Sleef_atand8_u35(double8 x)3188 _CL_ALWAYSINLINE double8 Sleef_atand8_u35(double8 x)
3189 {
3190 union { double8 t; reg512d r; } x_in;
3191 x_in.t = x;
3192 union { double8 t; reg512d r; } ret;
3193 ret.r = Sleef_atand8_u35_intrin(x_in.r);
3194 return ret.t;
3195 }
3196 #endif
3197
3198
Sleef_atan2f16_u10(float16 x,float16 y)3199 _CL_ALWAYSINLINE float16 Sleef_atan2f16_u10(float16 x, float16 y)
3200 {
3201 union { float16 t; reg512f r; } x_in;
3202 x_in.t = x;
3203 union { float16 t; reg512f r; } y_in;
3204 y_in.t = y;
3205 union { float16 t; reg512f r; } ret;
3206 ret.r = Sleef_atan2f16_u10_intrin(x_in.r, y_in.r);
3207 return ret.t;
3208 }
3209
Sleef_atan2f16_u35(float16 x,float16 y)3210 _CL_ALWAYSINLINE float16 Sleef_atan2f16_u35(float16 x, float16 y)
3211 {
3212 union { float16 t; reg512f r; } x_in;
3213 x_in.t = x;
3214 union { float16 t; reg512f r; } y_in;
3215 y_in.t = y;
3216 union { float16 t; reg512f r; } ret;
3217 ret.r = Sleef_atan2f16_u35_intrin(x_in.r, y_in.r);
3218 return ret.t;
3219 }
3220
3221 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3222
Sleef_atan2d8_u10(double8 x,double8 y)3223 _CL_ALWAYSINLINE double8 Sleef_atan2d8_u10(double8 x, double8 y)
3224 {
3225 union { double8 t; reg512d r; } x_in;
3226 x_in.t = x;
3227 union { double8 t; reg512d r; } y_in;
3228 y_in.t = y;
3229 union { double8 t; reg512d r; } ret;
3230 ret.r = Sleef_atan2d8_u10_intrin(x_in.r, y_in.r);
3231 return ret.t;
3232 }
3233
Sleef_atan2d8_u35(double8 x,double8 y)3234 _CL_ALWAYSINLINE double8 Sleef_atan2d8_u35(double8 x, double8 y)
3235 {
3236 union { double8 t; reg512d r; } x_in;
3237 x_in.t = x;
3238 union { double8 t; reg512d r; } y_in;
3239 y_in.t = y;
3240 union { double8 t; reg512d r; } ret;
3241 ret.r = Sleef_atan2d8_u35_intrin(x_in.r, y_in.r);
3242 return ret.t;
3243 }
3244 #endif
3245
3246
Sleef_cbrtf16_u10(float16 x)3247 _CL_ALWAYSINLINE float16 Sleef_cbrtf16_u10(float16 x)
3248 {
3249 union { float16 t; reg512f r; } x_in;
3250 x_in.t = x;
3251 union { float16 t; reg512f r; } ret;
3252 ret.r = Sleef_cbrtf16_u10_intrin(x_in.r);
3253 return ret.t;
3254 }
3255
Sleef_cbrtf16_u35(float16 x)3256 _CL_ALWAYSINLINE float16 Sleef_cbrtf16_u35(float16 x)
3257 {
3258 union { float16 t; reg512f r; } x_in;
3259 x_in.t = x;
3260 union { float16 t; reg512f r; } ret;
3261 ret.r = Sleef_cbrtf16_u35_intrin(x_in.r);
3262 return ret.t;
3263 }
3264
3265 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3266
Sleef_cbrtd8_u10(double8 x)3267 _CL_ALWAYSINLINE double8 Sleef_cbrtd8_u10(double8 x)
3268 {
3269 union { double8 t; reg512d r; } x_in;
3270 x_in.t = x;
3271 union { double8 t; reg512d r; } ret;
3272 ret.r = Sleef_cbrtd8_u10_intrin(x_in.r);
3273 return ret.t;
3274 }
3275
Sleef_cbrtd8_u35(double8 x)3276 _CL_ALWAYSINLINE double8 Sleef_cbrtd8_u35(double8 x)
3277 {
3278 union { double8 t; reg512d r; } x_in;
3279 x_in.t = x;
3280 union { double8 t; reg512d r; } ret;
3281 ret.r = Sleef_cbrtd8_u35_intrin(x_in.r);
3282 return ret.t;
3283 }
3284 #endif
3285
3286
Sleef_logf16_u10(float16 x)3287 _CL_ALWAYSINLINE float16 Sleef_logf16_u10(float16 x)
3288 {
3289 union { float16 t; reg512f r; } x_in;
3290 x_in.t = x;
3291 union { float16 t; reg512f r; } ret;
3292 ret.r = Sleef_logf16_u10_intrin(x_in.r);
3293 return ret.t;
3294 }
3295
Sleef_logf16_u35(float16 x)3296 _CL_ALWAYSINLINE float16 Sleef_logf16_u35(float16 x)
3297 {
3298 union { float16 t; reg512f r; } x_in;
3299 x_in.t = x;
3300 union { float16 t; reg512f r; } ret;
3301 ret.r = Sleef_logf16_u35_intrin(x_in.r);
3302 return ret.t;
3303 }
3304
3305 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3306
Sleef_logd8_u10(double8 x)3307 _CL_ALWAYSINLINE double8 Sleef_logd8_u10(double8 x)
3308 {
3309 union { double8 t; reg512d r; } x_in;
3310 x_in.t = x;
3311 union { double8 t; reg512d r; } ret;
3312 ret.r = Sleef_logd8_u10_intrin(x_in.r);
3313 return ret.t;
3314 }
3315
Sleef_logd8_u35(double8 x)3316 _CL_ALWAYSINLINE double8 Sleef_logd8_u35(double8 x)
3317 {
3318 union { double8 t; reg512d r; } x_in;
3319 x_in.t = x;
3320 union { double8 t; reg512d r; } ret;
3321 ret.r = Sleef_logd8_u35_intrin(x_in.r);
3322 return ret.t;
3323 }
3324 #endif
3325
3326
Sleef_expf16_u10(float16 x)3327 _CL_ALWAYSINLINE float16 Sleef_expf16_u10(float16 x)
3328 {
3329 union { float16 t; reg512f r; } x_in;
3330 x_in.t = x;
3331 union { float16 t; reg512f r; } ret;
3332 ret.r = Sleef_expf16_u10_intrin(x_in.r);
3333 return ret.t;
3334 }
3335
3336 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3337
Sleef_expd8_u10(double8 x)3338 _CL_ALWAYSINLINE double8 Sleef_expd8_u10(double8 x)
3339 {
3340 union { double8 t; reg512d r; } x_in;
3341 x_in.t = x;
3342 union { double8 t; reg512d r; } ret;
3343 ret.r = Sleef_expd8_u10_intrin(x_in.r);
3344 return ret.t;
3345 }
3346 #endif
3347
3348
Sleef_powf16_u10(float16 x,float16 y)3349 _CL_ALWAYSINLINE float16 Sleef_powf16_u10(float16 x, float16 y)
3350 {
3351 union { float16 t; reg512f r; } x_in;
3352 x_in.t = x;
3353 union { float16 t; reg512f r; } y_in;
3354 y_in.t = y;
3355 union { float16 t; reg512f r; } ret;
3356 ret.r = Sleef_powf16_u10_intrin(x_in.r, y_in.r);
3357 return ret.t;
3358 }
3359
3360 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3361
Sleef_powd8_u10(double8 x,double8 y)3362 _CL_ALWAYSINLINE double8 Sleef_powd8_u10(double8 x, double8 y)
3363 {
3364 union { double8 t; reg512d r; } x_in;
3365 x_in.t = x;
3366 union { double8 t; reg512d r; } y_in;
3367 y_in.t = y;
3368 union { double8 t; reg512d r; } ret;
3369 ret.r = Sleef_powd8_u10_intrin(x_in.r, y_in.r);
3370 return ret.t;
3371 }
3372 #endif
3373
3374
Sleef_pownf16_u10(float16 x,int16 y)3375 _CL_ALWAYSINLINE float16 Sleef_pownf16_u10(float16 x, int16 y)
3376 {
3377 union { float16 t; reg512f r; } x_in;
3378 x_in.t = x;
3379 union { int16 t; reg512i r; } y_in;
3380 y_in.t = y;
3381 union { float16 t; reg512f r; } ret;
3382 ret.r = Sleef_pownf16_u10_intrin(x_in.r, y_in.r);
3383 return ret.t;
3384 }
3385
3386 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3387
Sleef_pownd8_u10(double8 x,int8 y)3388 _CL_ALWAYSINLINE double8 Sleef_pownd8_u10(double8 x, int8 y)
3389 {
3390 union { double8 t; reg512d r; } x_in;
3391 x_in.t = x;
3392 union { int8 t; reg256i r; } y_in;
3393 y_in.t = y;
3394 union { double8 t; reg512d r; } ret;
3395 ret.r = Sleef_pownd8_u10_intrin(x_in.r, y_in.r);
3396 return ret.t;
3397 }
3398 #endif
3399
3400
Sleef_powrf16_u10(float16 x,float16 y)3401 _CL_ALWAYSINLINE float16 Sleef_powrf16_u10(float16 x, float16 y)
3402 {
3403 union { float16 t; reg512f r; } x_in;
3404 x_in.t = x;
3405 union { float16 t; reg512f r; } y_in;
3406 y_in.t = y;
3407 union { float16 t; reg512f r; } ret;
3408 ret.r = Sleef_powrf16_u10_intrin(x_in.r, y_in.r);
3409 return ret.t;
3410 }
3411
3412 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3413
Sleef_powrd8_u10(double8 x,double8 y)3414 _CL_ALWAYSINLINE double8 Sleef_powrd8_u10(double8 x, double8 y)
3415 {
3416 union { double8 t; reg512d r; } x_in;
3417 x_in.t = x;
3418 union { double8 t; reg512d r; } y_in;
3419 y_in.t = y;
3420 union { double8 t; reg512d r; } ret;
3421 ret.r = Sleef_powrd8_u10_intrin(x_in.r, y_in.r);
3422 return ret.t;
3423 }
3424 #endif
3425
3426
Sleef_sinhf16_u10(float16 x)3427 _CL_ALWAYSINLINE float16 Sleef_sinhf16_u10(float16 x)
3428 {
3429 union { float16 t; reg512f r; } x_in;
3430 x_in.t = x;
3431 union { float16 t; reg512f r; } ret;
3432 ret.r = Sleef_sinhf16_u10_intrin(x_in.r);
3433 return ret.t;
3434 }
3435
3436 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3437
Sleef_sinhd8_u10(double8 x)3438 _CL_ALWAYSINLINE double8 Sleef_sinhd8_u10(double8 x)
3439 {
3440 union { double8 t; reg512d r; } x_in;
3441 x_in.t = x;
3442 union { double8 t; reg512d r; } ret;
3443 ret.r = Sleef_sinhd8_u10_intrin(x_in.r);
3444 return ret.t;
3445 }
3446 #endif
3447
3448
Sleef_coshf16_u10(float16 x)3449 _CL_ALWAYSINLINE float16 Sleef_coshf16_u10(float16 x)
3450 {
3451 union { float16 t; reg512f r; } x_in;
3452 x_in.t = x;
3453 union { float16 t; reg512f r; } ret;
3454 ret.r = Sleef_coshf16_u10_intrin(x_in.r);
3455 return ret.t;
3456 }
3457
3458 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3459
Sleef_coshd8_u10(double8 x)3460 _CL_ALWAYSINLINE double8 Sleef_coshd8_u10(double8 x)
3461 {
3462 union { double8 t; reg512d r; } x_in;
3463 x_in.t = x;
3464 union { double8 t; reg512d r; } ret;
3465 ret.r = Sleef_coshd8_u10_intrin(x_in.r);
3466 return ret.t;
3467 }
3468 #endif
3469
3470
Sleef_tanhf16_u10(float16 x)3471 _CL_ALWAYSINLINE float16 Sleef_tanhf16_u10(float16 x)
3472 {
3473 union { float16 t; reg512f r; } x_in;
3474 x_in.t = x;
3475 union { float16 t; reg512f r; } ret;
3476 ret.r = Sleef_tanhf16_u10_intrin(x_in.r);
3477 return ret.t;
3478 }
3479
3480 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3481
Sleef_tanhd8_u10(double8 x)3482 _CL_ALWAYSINLINE double8 Sleef_tanhd8_u10(double8 x)
3483 {
3484 union { double8 t; reg512d r; } x_in;
3485 x_in.t = x;
3486 union { double8 t; reg512d r; } ret;
3487 ret.r = Sleef_tanhd8_u10_intrin(x_in.r);
3488 return ret.t;
3489 }
3490 #endif
3491
3492
Sleef_asinhf16_u10(float16 x)3493 _CL_ALWAYSINLINE float16 Sleef_asinhf16_u10(float16 x)
3494 {
3495 union { float16 t; reg512f r; } x_in;
3496 x_in.t = x;
3497 union { float16 t; reg512f r; } ret;
3498 ret.r = Sleef_asinhf16_u10_intrin(x_in.r);
3499 return ret.t;
3500 }
3501
3502 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3503
Sleef_asinhd8_u10(double8 x)3504 _CL_ALWAYSINLINE double8 Sleef_asinhd8_u10(double8 x)
3505 {
3506 union { double8 t; reg512d r; } x_in;
3507 x_in.t = x;
3508 union { double8 t; reg512d r; } ret;
3509 ret.r = Sleef_asinhd8_u10_intrin(x_in.r);
3510 return ret.t;
3511 }
3512 #endif
3513
3514
Sleef_acoshf16_u10(float16 x)3515 _CL_ALWAYSINLINE float16 Sleef_acoshf16_u10(float16 x)
3516 {
3517 union { float16 t; reg512f r; } x_in;
3518 x_in.t = x;
3519 union { float16 t; reg512f r; } ret;
3520 ret.r = Sleef_acoshf16_u10_intrin(x_in.r);
3521 return ret.t;
3522 }
3523
3524 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3525
Sleef_acoshd8_u10(double8 x)3526 _CL_ALWAYSINLINE double8 Sleef_acoshd8_u10(double8 x)
3527 {
3528 union { double8 t; reg512d r; } x_in;
3529 x_in.t = x;
3530 union { double8 t; reg512d r; } ret;
3531 ret.r = Sleef_acoshd8_u10_intrin(x_in.r);
3532 return ret.t;
3533 }
3534 #endif
3535
3536
Sleef_atanhf16_u10(float16 x)3537 _CL_ALWAYSINLINE float16 Sleef_atanhf16_u10(float16 x)
3538 {
3539 union { float16 t; reg512f r; } x_in;
3540 x_in.t = x;
3541 union { float16 t; reg512f r; } ret;
3542 ret.r = Sleef_atanhf16_u10_intrin(x_in.r);
3543 return ret.t;
3544 }
3545
3546 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3547
Sleef_atanhd8_u10(double8 x)3548 _CL_ALWAYSINLINE double8 Sleef_atanhd8_u10(double8 x)
3549 {
3550 union { double8 t; reg512d r; } x_in;
3551 x_in.t = x;
3552 union { double8 t; reg512d r; } ret;
3553 ret.r = Sleef_atanhd8_u10_intrin(x_in.r);
3554 return ret.t;
3555 }
3556 #endif
3557
3558
Sleef_exp2f16_u10(float16 x)3559 _CL_ALWAYSINLINE float16 Sleef_exp2f16_u10(float16 x)
3560 {
3561 union { float16 t; reg512f r; } x_in;
3562 x_in.t = x;
3563 union { float16 t; reg512f r; } ret;
3564 ret.r = Sleef_exp2f16_u10_intrin(x_in.r);
3565 return ret.t;
3566 }
3567
3568 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3569
Sleef_exp2d8_u10(double8 x)3570 _CL_ALWAYSINLINE double8 Sleef_exp2d8_u10(double8 x)
3571 {
3572 union { double8 t; reg512d r; } x_in;
3573 x_in.t = x;
3574 union { double8 t; reg512d r; } ret;
3575 ret.r = Sleef_exp2d8_u10_intrin(x_in.r);
3576 return ret.t;
3577 }
3578 #endif
3579
3580
Sleef_exp10f16_u10(float16 x)3581 _CL_ALWAYSINLINE float16 Sleef_exp10f16_u10(float16 x)
3582 {
3583 union { float16 t; reg512f r; } x_in;
3584 x_in.t = x;
3585 union { float16 t; reg512f r; } ret;
3586 ret.r = Sleef_exp10f16_u10_intrin(x_in.r);
3587 return ret.t;
3588 }
3589
3590 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3591
Sleef_exp10d8_u10(double8 x)3592 _CL_ALWAYSINLINE double8 Sleef_exp10d8_u10(double8 x)
3593 {
3594 union { double8 t; reg512d r; } x_in;
3595 x_in.t = x;
3596 union { double8 t; reg512d r; } ret;
3597 ret.r = Sleef_exp10d8_u10_intrin(x_in.r);
3598 return ret.t;
3599 }
3600 #endif
3601
3602
Sleef_expm1f16_u10(float16 x)3603 _CL_ALWAYSINLINE float16 Sleef_expm1f16_u10(float16 x)
3604 {
3605 union { float16 t; reg512f r; } x_in;
3606 x_in.t = x;
3607 union { float16 t; reg512f r; } ret;
3608 ret.r = Sleef_expm1f16_u10_intrin(x_in.r);
3609 return ret.t;
3610 }
3611
3612 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3613
Sleef_expm1d8_u10(double8 x)3614 _CL_ALWAYSINLINE double8 Sleef_expm1d8_u10(double8 x)
3615 {
3616 union { double8 t; reg512d r; } x_in;
3617 x_in.t = x;
3618 union { double8 t; reg512d r; } ret;
3619 ret.r = Sleef_expm1d8_u10_intrin(x_in.r);
3620 return ret.t;
3621 }
3622 #endif
3623
3624
Sleef_log10f16_u10(float16 x)3625 _CL_ALWAYSINLINE float16 Sleef_log10f16_u10(float16 x)
3626 {
3627 union { float16 t; reg512f r; } x_in;
3628 x_in.t = x;
3629 union { float16 t; reg512f r; } ret;
3630 ret.r = Sleef_log10f16_u10_intrin(x_in.r);
3631 return ret.t;
3632 }
3633
3634 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3635
Sleef_log10d8_u10(double8 x)3636 _CL_ALWAYSINLINE double8 Sleef_log10d8_u10(double8 x)
3637 {
3638 union { double8 t; reg512d r; } x_in;
3639 x_in.t = x;
3640 union { double8 t; reg512d r; } ret;
3641 ret.r = Sleef_log10d8_u10_intrin(x_in.r);
3642 return ret.t;
3643 }
3644 #endif
3645
3646
Sleef_log1pf16_u10(float16 x)3647 _CL_ALWAYSINLINE float16 Sleef_log1pf16_u10(float16 x)
3648 {
3649 union { float16 t; reg512f r; } x_in;
3650 x_in.t = x;
3651 union { float16 t; reg512f r; } ret;
3652 ret.r = Sleef_log1pf16_u10_intrin(x_in.r);
3653 return ret.t;
3654 }
3655
3656 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3657
Sleef_log1pd8_u10(double8 x)3658 _CL_ALWAYSINLINE double8 Sleef_log1pd8_u10(double8 x)
3659 {
3660 union { double8 t; reg512d r; } x_in;
3661 x_in.t = x;
3662 union { double8 t; reg512d r; } ret;
3663 ret.r = Sleef_log1pd8_u10_intrin(x_in.r);
3664 return ret.t;
3665 }
3666 #endif
3667
3668
Sleef_sinpif16_u05(float16 x)3669 _CL_ALWAYSINLINE float16 Sleef_sinpif16_u05(float16 x)
3670 {
3671 union { float16 t; reg512f r; } x_in;
3672 x_in.t = x;
3673 union { float16 t; reg512f r; } ret;
3674 ret.r = Sleef_sinpif16_u05_intrin(x_in.r);
3675 return ret.t;
3676 }
3677
3678 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3679
Sleef_sinpid8_u05(double8 x)3680 _CL_ALWAYSINLINE double8 Sleef_sinpid8_u05(double8 x)
3681 {
3682 union { double8 t; reg512d r; } x_in;
3683 x_in.t = x;
3684 union { double8 t; reg512d r; } ret;
3685 ret.r = Sleef_sinpid8_u05_intrin(x_in.r);
3686 return ret.t;
3687 }
3688 #endif
3689
3690
Sleef_cospif16_u05(float16 x)3691 _CL_ALWAYSINLINE float16 Sleef_cospif16_u05(float16 x)
3692 {
3693 union { float16 t; reg512f r; } x_in;
3694 x_in.t = x;
3695 union { float16 t; reg512f r; } ret;
3696 ret.r = Sleef_cospif16_u05_intrin(x_in.r);
3697 return ret.t;
3698 }
3699
3700 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3701
Sleef_cospid8_u05(double8 x)3702 _CL_ALWAYSINLINE double8 Sleef_cospid8_u05(double8 x)
3703 {
3704 union { double8 t; reg512d r; } x_in;
3705 x_in.t = x;
3706 union { double8 t; reg512d r; } ret;
3707 ret.r = Sleef_cospid8_u05_intrin(x_in.r);
3708 return ret.t;
3709 }
3710 #endif
3711
3712
Sleef_fmaf16(float16 x,float16 y,float16 z)3713 _CL_ALWAYSINLINE float16 Sleef_fmaf16(float16 x, float16 y, float16 z)
3714 {
3715 union { float16 t; reg512f r; } x_in;
3716 x_in.t = x;
3717 union { float16 t; reg512f r; } y_in;
3718 y_in.t = y;
3719 union { float16 t; reg512f r; } z_in;
3720 z_in.t = z;
3721 union { float16 t; reg512f r; } ret;
3722 ret.r = Sleef_fmaf16_intrin(x_in.r, y_in.r, z_in.r);
3723 return ret.t;
3724 }
3725
3726 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3727
Sleef_fmad8(double8 x,double8 y,double8 z)3728 _CL_ALWAYSINLINE double8 Sleef_fmad8(double8 x, double8 y, double8 z)
3729 {
3730 union { double8 t; reg512d r; } x_in;
3731 x_in.t = x;
3732 union { double8 t; reg512d r; } y_in;
3733 y_in.t = y;
3734 union { double8 t; reg512d r; } z_in;
3735 z_in.t = z;
3736 union { double8 t; reg512d r; } ret;
3737 ret.r = Sleef_fmad8_intrin(x_in.r, y_in.r, z_in.r);
3738 return ret.t;
3739 }
3740 #endif
3741
3742
Sleef_sqrtf16_u05(float16 x)3743 _CL_ALWAYSINLINE float16 Sleef_sqrtf16_u05(float16 x)
3744 {
3745 union { float16 t; reg512f r; } x_in;
3746 x_in.t = x;
3747 union { float16 t; reg512f r; } ret;
3748 ret.r = Sleef_sqrtf16_u05_intrin(x_in.r);
3749 return ret.t;
3750 }
3751
3752 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3753
Sleef_sqrtd8_u05(double8 x)3754 _CL_ALWAYSINLINE double8 Sleef_sqrtd8_u05(double8 x)
3755 {
3756 union { double8 t; reg512d r; } x_in;
3757 x_in.t = x;
3758 union { double8 t; reg512d r; } ret;
3759 ret.r = Sleef_sqrtd8_u05_intrin(x_in.r);
3760 return ret.t;
3761 }
3762 #endif
3763
3764
Sleef_hypotf16_u05(float16 x,float16 y)3765 _CL_ALWAYSINLINE float16 Sleef_hypotf16_u05(float16 x, float16 y)
3766 {
3767 union { float16 t; reg512f r; } x_in;
3768 x_in.t = x;
3769 union { float16 t; reg512f r; } y_in;
3770 y_in.t = y;
3771 union { float16 t; reg512f r; } ret;
3772 ret.r = Sleef_hypotf16_u05_intrin(x_in.r, y_in.r);
3773 return ret.t;
3774 }
3775
Sleef_hypotf16_u35(float16 x,float16 y)3776 _CL_ALWAYSINLINE float16 Sleef_hypotf16_u35(float16 x, float16 y)
3777 {
3778 union { float16 t; reg512f r; } x_in;
3779 x_in.t = x;
3780 union { float16 t; reg512f r; } y_in;
3781 y_in.t = y;
3782 union { float16 t; reg512f r; } ret;
3783 ret.r = Sleef_hypotf16_u35_intrin(x_in.r, y_in.r);
3784 return ret.t;
3785 }
3786
3787 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3788
Sleef_hypotd8_u05(double8 x,double8 y)3789 _CL_ALWAYSINLINE double8 Sleef_hypotd8_u05(double8 x, double8 y)
3790 {
3791 union { double8 t; reg512d r; } x_in;
3792 x_in.t = x;
3793 union { double8 t; reg512d r; } y_in;
3794 y_in.t = y;
3795 union { double8 t; reg512d r; } ret;
3796 ret.r = Sleef_hypotd8_u05_intrin(x_in.r, y_in.r);
3797 return ret.t;
3798 }
3799
Sleef_hypotd8_u35(double8 x,double8 y)3800 _CL_ALWAYSINLINE double8 Sleef_hypotd8_u35(double8 x, double8 y)
3801 {
3802 union { double8 t; reg512d r; } x_in;
3803 x_in.t = x;
3804 union { double8 t; reg512d r; } y_in;
3805 y_in.t = y;
3806 union { double8 t; reg512d r; } ret;
3807 ret.r = Sleef_hypotd8_u35_intrin(x_in.r, y_in.r);
3808 return ret.t;
3809 }
3810 #endif
3811
3812
Sleef_fabsf16(float16 x)3813 _CL_ALWAYSINLINE float16 Sleef_fabsf16(float16 x)
3814 {
3815 union { float16 t; reg512f r; } x_in;
3816 x_in.t = x;
3817 union { float16 t; reg512f r; } ret;
3818 ret.r = Sleef_fabsf16_intrin(x_in.r);
3819 return ret.t;
3820 }
3821
3822 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3823
Sleef_fabsd8(double8 x)3824 _CL_ALWAYSINLINE double8 Sleef_fabsd8(double8 x)
3825 {
3826 union { double8 t; reg512d r; } x_in;
3827 x_in.t = x;
3828 union { double8 t; reg512d r; } ret;
3829 ret.r = Sleef_fabsd8_intrin(x_in.r);
3830 return ret.t;
3831 }
3832 #endif
3833
3834
Sleef_copysignf16(float16 x,float16 y)3835 _CL_ALWAYSINLINE float16 Sleef_copysignf16(float16 x, float16 y)
3836 {
3837 union { float16 t; reg512f r; } x_in;
3838 x_in.t = x;
3839 union { float16 t; reg512f r; } y_in;
3840 y_in.t = y;
3841 union { float16 t; reg512f r; } ret;
3842 ret.r = Sleef_copysignf16_intrin(x_in.r, y_in.r);
3843 return ret.t;
3844 }
3845
3846 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3847
Sleef_copysignd8(double8 x,double8 y)3848 _CL_ALWAYSINLINE double8 Sleef_copysignd8(double8 x, double8 y)
3849 {
3850 union { double8 t; reg512d r; } x_in;
3851 x_in.t = x;
3852 union { double8 t; reg512d r; } y_in;
3853 y_in.t = y;
3854 union { double8 t; reg512d r; } ret;
3855 ret.r = Sleef_copysignd8_intrin(x_in.r, y_in.r);
3856 return ret.t;
3857 }
3858 #endif
3859
3860
Sleef_fmaxf16(float16 x,float16 y)3861 _CL_ALWAYSINLINE float16 Sleef_fmaxf16(float16 x, float16 y)
3862 {
3863 union { float16 t; reg512f r; } x_in;
3864 x_in.t = x;
3865 union { float16 t; reg512f r; } y_in;
3866 y_in.t = y;
3867 union { float16 t; reg512f r; } ret;
3868 ret.r = Sleef_fmaxf16_intrin(x_in.r, y_in.r);
3869 return ret.t;
3870 }
3871
3872 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3873
Sleef_fmaxd8(double8 x,double8 y)3874 _CL_ALWAYSINLINE double8 Sleef_fmaxd8(double8 x, double8 y)
3875 {
3876 union { double8 t; reg512d r; } x_in;
3877 x_in.t = x;
3878 union { double8 t; reg512d r; } y_in;
3879 y_in.t = y;
3880 union { double8 t; reg512d r; } ret;
3881 ret.r = Sleef_fmaxd8_intrin(x_in.r, y_in.r);
3882 return ret.t;
3883 }
3884 #endif
3885
3886
Sleef_fminf16(float16 x,float16 y)3887 _CL_ALWAYSINLINE float16 Sleef_fminf16(float16 x, float16 y)
3888 {
3889 union { float16 t; reg512f r; } x_in;
3890 x_in.t = x;
3891 union { float16 t; reg512f r; } y_in;
3892 y_in.t = y;
3893 union { float16 t; reg512f r; } ret;
3894 ret.r = Sleef_fminf16_intrin(x_in.r, y_in.r);
3895 return ret.t;
3896 }
3897
3898 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3899
Sleef_fmind8(double8 x,double8 y)3900 _CL_ALWAYSINLINE double8 Sleef_fmind8(double8 x, double8 y)
3901 {
3902 union { double8 t; reg512d r; } x_in;
3903 x_in.t = x;
3904 union { double8 t; reg512d r; } y_in;
3905 y_in.t = y;
3906 union { double8 t; reg512d r; } ret;
3907 ret.r = Sleef_fmind8_intrin(x_in.r, y_in.r);
3908 return ret.t;
3909 }
3910 #endif
3911
3912
Sleef_fdimf16(float16 x,float16 y)3913 _CL_ALWAYSINLINE float16 Sleef_fdimf16(float16 x, float16 y)
3914 {
3915 union { float16 t; reg512f r; } x_in;
3916 x_in.t = x;
3917 union { float16 t; reg512f r; } y_in;
3918 y_in.t = y;
3919 union { float16 t; reg512f r; } ret;
3920 ret.r = Sleef_fdimf16_intrin(x_in.r, y_in.r);
3921 return ret.t;
3922 }
3923
3924 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3925
Sleef_fdimd8(double8 x,double8 y)3926 _CL_ALWAYSINLINE double8 Sleef_fdimd8(double8 x, double8 y)
3927 {
3928 union { double8 t; reg512d r; } x_in;
3929 x_in.t = x;
3930 union { double8 t; reg512d r; } y_in;
3931 y_in.t = y;
3932 union { double8 t; reg512d r; } ret;
3933 ret.r = Sleef_fdimd8_intrin(x_in.r, y_in.r);
3934 return ret.t;
3935 }
3936 #endif
3937
3938
Sleef_truncf16(float16 x)3939 _CL_ALWAYSINLINE float16 Sleef_truncf16(float16 x)
3940 {
3941 union { float16 t; reg512f r; } x_in;
3942 x_in.t = x;
3943 union { float16 t; reg512f r; } ret;
3944 ret.r = Sleef_truncf16_intrin(x_in.r);
3945 return ret.t;
3946 }
3947
3948 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3949
Sleef_truncd8(double8 x)3950 _CL_ALWAYSINLINE double8 Sleef_truncd8(double8 x)
3951 {
3952 union { double8 t; reg512d r; } x_in;
3953 x_in.t = x;
3954 union { double8 t; reg512d r; } ret;
3955 ret.r = Sleef_truncd8_intrin(x_in.r);
3956 return ret.t;
3957 }
3958 #endif
3959
3960
Sleef_floorf16(float16 x)3961 _CL_ALWAYSINLINE float16 Sleef_floorf16(float16 x)
3962 {
3963 union { float16 t; reg512f r; } x_in;
3964 x_in.t = x;
3965 union { float16 t; reg512f r; } ret;
3966 ret.r = Sleef_floorf16_intrin(x_in.r);
3967 return ret.t;
3968 }
3969
3970 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3971
Sleef_floord8(double8 x)3972 _CL_ALWAYSINLINE double8 Sleef_floord8(double8 x)
3973 {
3974 union { double8 t; reg512d r; } x_in;
3975 x_in.t = x;
3976 union { double8 t; reg512d r; } ret;
3977 ret.r = Sleef_floord8_intrin(x_in.r);
3978 return ret.t;
3979 }
3980 #endif
3981
3982
Sleef_ceilf16(float16 x)3983 _CL_ALWAYSINLINE float16 Sleef_ceilf16(float16 x)
3984 {
3985 union { float16 t; reg512f r; } x_in;
3986 x_in.t = x;
3987 union { float16 t; reg512f r; } ret;
3988 ret.r = Sleef_ceilf16_intrin(x_in.r);
3989 return ret.t;
3990 }
3991
3992 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
3993
Sleef_ceild8(double8 x)3994 _CL_ALWAYSINLINE double8 Sleef_ceild8(double8 x)
3995 {
3996 union { double8 t; reg512d r; } x_in;
3997 x_in.t = x;
3998 union { double8 t; reg512d r; } ret;
3999 ret.r = Sleef_ceild8_intrin(x_in.r);
4000 return ret.t;
4001 }
4002 #endif
4003
4004
Sleef_roundf16(float16 x)4005 _CL_ALWAYSINLINE float16 Sleef_roundf16(float16 x)
4006 {
4007 union { float16 t; reg512f r; } x_in;
4008 x_in.t = x;
4009 union { float16 t; reg512f r; } ret;
4010 ret.r = Sleef_roundf16_intrin(x_in.r);
4011 return ret.t;
4012 }
4013
4014 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4015
Sleef_roundd8(double8 x)4016 _CL_ALWAYSINLINE double8 Sleef_roundd8(double8 x)
4017 {
4018 union { double8 t; reg512d r; } x_in;
4019 x_in.t = x;
4020 union { double8 t; reg512d r; } ret;
4021 ret.r = Sleef_roundd8_intrin(x_in.r);
4022 return ret.t;
4023 }
4024 #endif
4025
4026
Sleef_rintf16(float16 x)4027 _CL_ALWAYSINLINE float16 Sleef_rintf16(float16 x)
4028 {
4029 union { float16 t; reg512f r; } x_in;
4030 x_in.t = x;
4031 union { float16 t; reg512f r; } ret;
4032 ret.r = Sleef_rintf16_intrin(x_in.r);
4033 return ret.t;
4034 }
4035
4036 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4037
Sleef_rintd8(double8 x)4038 _CL_ALWAYSINLINE double8 Sleef_rintd8(double8 x)
4039 {
4040 union { double8 t; reg512d r; } x_in;
4041 x_in.t = x;
4042 union { double8 t; reg512d r; } ret;
4043 ret.r = Sleef_rintd8_intrin(x_in.r);
4044 return ret.t;
4045 }
4046 #endif
4047
4048
Sleef_nextafterf16(float16 x,float16 y)4049 _CL_ALWAYSINLINE float16 Sleef_nextafterf16(float16 x, float16 y)
4050 {
4051 union { float16 t; reg512f r; } x_in;
4052 x_in.t = x;
4053 union { float16 t; reg512f r; } y_in;
4054 y_in.t = y;
4055 union { float16 t; reg512f r; } ret;
4056 ret.r = Sleef_nextafterf16_intrin(x_in.r, y_in.r);
4057 return ret.t;
4058 }
4059
4060 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4061
Sleef_nextafterd8(double8 x,double8 y)4062 _CL_ALWAYSINLINE double8 Sleef_nextafterd8(double8 x, double8 y)
4063 {
4064 union { double8 t; reg512d r; } x_in;
4065 x_in.t = x;
4066 union { double8 t; reg512d r; } y_in;
4067 y_in.t = y;
4068 union { double8 t; reg512d r; } ret;
4069 ret.r = Sleef_nextafterd8_intrin(x_in.r, y_in.r);
4070 return ret.t;
4071 }
4072 #endif
4073
4074
Sleef_fmodf16(float16 x,float16 y)4075 _CL_ALWAYSINLINE float16 Sleef_fmodf16(float16 x, float16 y)
4076 {
4077 union { float16 t; reg512f r; } x_in;
4078 x_in.t = x;
4079 union { float16 t; reg512f r; } y_in;
4080 y_in.t = y;
4081 union { float16 t; reg512f r; } ret;
4082 ret.r = Sleef_fmodf16_intrin(x_in.r, y_in.r);
4083 return ret.t;
4084 }
4085
4086 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4087
Sleef_fmodd8(double8 x,double8 y)4088 _CL_ALWAYSINLINE double8 Sleef_fmodd8(double8 x, double8 y)
4089 {
4090 union { double8 t; reg512d r; } x_in;
4091 x_in.t = x;
4092 union { double8 t; reg512d r; } y_in;
4093 y_in.t = y;
4094 union { double8 t; reg512d r; } ret;
4095 ret.r = Sleef_fmodd8_intrin(x_in.r, y_in.r);
4096 return ret.t;
4097 }
4098 #endif
4099
4100
Sleef_lgammaf16_u10(float16 x)4101 _CL_ALWAYSINLINE float16 Sleef_lgammaf16_u10(float16 x)
4102 {
4103 union { float16 t; reg512f r; } x_in;
4104 x_in.t = x;
4105 union { float16 t; reg512f r; } ret;
4106 ret.r = Sleef_lgammaf16_u10_intrin(x_in.r);
4107 return ret.t;
4108 }
4109
4110 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4111
Sleef_lgammad8_u10(double8 x)4112 _CL_ALWAYSINLINE double8 Sleef_lgammad8_u10(double8 x)
4113 {
4114 union { double8 t; reg512d r; } x_in;
4115 x_in.t = x;
4116 union { double8 t; reg512d r; } ret;
4117 ret.r = Sleef_lgammad8_u10_intrin(x_in.r);
4118 return ret.t;
4119 }
4120 #endif
4121
4122
Sleef_lgamma_rf16_u10(float16 x)4123 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_lgamma_rf16_u10(float16 x)
4124 {
4125 union { float16 t; reg512f r; } x_in;
4126 x_in.t = x;
4127 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4128 ret.r = Sleef_lgamma_rf16_u10_intrin(x_in.r);
4129 return ret.t;
4130 }
4131
4132 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4133
Sleef_lgamma_rd8_u10(double8 x)4134 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_lgamma_rd8_u10(double8 x)
4135 {
4136 union { double8 t; reg512d r; } x_in;
4137 x_in.t = x;
4138 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4139 ret.r = Sleef_lgamma_rd8_u10_intrin(x_in.r);
4140 return ret.t;
4141 }
4142 #endif
4143
4144
Sleef_tgammaf16_u10(float16 x)4145 _CL_ALWAYSINLINE float16 Sleef_tgammaf16_u10(float16 x)
4146 {
4147 union { float16 t; reg512f r; } x_in;
4148 x_in.t = x;
4149 union { float16 t; reg512f r; } ret;
4150 ret.r = Sleef_tgammaf16_u10_intrin(x_in.r);
4151 return ret.t;
4152 }
4153
4154 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4155
Sleef_tgammad8_u10(double8 x)4156 _CL_ALWAYSINLINE double8 Sleef_tgammad8_u10(double8 x)
4157 {
4158 union { double8 t; reg512d r; } x_in;
4159 x_in.t = x;
4160 union { double8 t; reg512d r; } ret;
4161 ret.r = Sleef_tgammad8_u10_intrin(x_in.r);
4162 return ret.t;
4163 }
4164 #endif
4165
4166
Sleef_erff16_u10(float16 x)4167 _CL_ALWAYSINLINE float16 Sleef_erff16_u10(float16 x)
4168 {
4169 union { float16 t; reg512f r; } x_in;
4170 x_in.t = x;
4171 union { float16 t; reg512f r; } ret;
4172 ret.r = Sleef_erff16_u10_intrin(x_in.r);
4173 return ret.t;
4174 }
4175
4176 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4177
Sleef_erfd8_u10(double8 x)4178 _CL_ALWAYSINLINE double8 Sleef_erfd8_u10(double8 x)
4179 {
4180 union { double8 t; reg512d r; } x_in;
4181 x_in.t = x;
4182 union { double8 t; reg512d r; } ret;
4183 ret.r = Sleef_erfd8_u10_intrin(x_in.r);
4184 return ret.t;
4185 }
4186 #endif
4187
4188
Sleef_erfcf16_u15(float16 x)4189 _CL_ALWAYSINLINE float16 Sleef_erfcf16_u15(float16 x)
4190 {
4191 union { float16 t; reg512f r; } x_in;
4192 x_in.t = x;
4193 union { float16 t; reg512f r; } ret;
4194 ret.r = Sleef_erfcf16_u15_intrin(x_in.r);
4195 return ret.t;
4196 }
4197
4198 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4199
Sleef_erfcd8_u15(double8 x)4200 _CL_ALWAYSINLINE double8 Sleef_erfcd8_u15(double8 x)
4201 {
4202 union { double8 t; reg512d r; } x_in;
4203 x_in.t = x;
4204 union { double8 t; reg512d r; } ret;
4205 ret.r = Sleef_erfcd8_u15_intrin(x_in.r);
4206 return ret.t;
4207 }
4208 #endif
4209
4210
Sleef_frfrexpf16(float16 x)4211 _CL_ALWAYSINLINE float16 Sleef_frfrexpf16(float16 x)
4212 {
4213 union { float16 t; reg512f r; } x_in;
4214 x_in.t = x;
4215 union { float16 t; reg512f r; } ret;
4216 ret.r = Sleef_frfrexpf16_intrin(x_in.r);
4217 return ret.t;
4218 }
4219
4220 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4221
Sleef_frfrexpd8(double8 x)4222 _CL_ALWAYSINLINE double8 Sleef_frfrexpd8(double8 x)
4223 {
4224 union { double8 t; reg512d r; } x_in;
4225 x_in.t = x;
4226 union { double8 t; reg512d r; } ret;
4227 ret.r = Sleef_frfrexpd8_intrin(x_in.r);
4228 return ret.t;
4229 }
4230 #endif
4231
4232
Sleef_sincosf16_u10(float16 x)4233 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincosf16_u10(float16 x)
4234 {
4235 union { float16 t; reg512f r; } x_in;
4236 x_in.t = x;
4237 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4238 ret.r = Sleef_sincosf16_u10_intrin(x_in.r);
4239 return ret.t;
4240 }
4241
Sleef_sincosf16_u35(float16 x)4242 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincosf16_u35(float16 x)
4243 {
4244 union { float16 t; reg512f r; } x_in;
4245 x_in.t = x;
4246 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4247 ret.r = Sleef_sincosf16_u35_intrin(x_in.r);
4248 return ret.t;
4249 }
4250
4251 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4252
Sleef_sincosd8_u10(double8 x)4253 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincosd8_u10(double8 x)
4254 {
4255 union { double8 t; reg512d r; } x_in;
4256 x_in.t = x;
4257 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4258 ret.r = Sleef_sincosd8_u10_intrin(x_in.r);
4259 return ret.t;
4260 }
4261
Sleef_sincosd8_u35(double8 x)4262 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincosd8_u35(double8 x)
4263 {
4264 union { double8 t; reg512d r; } x_in;
4265 x_in.t = x;
4266 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4267 ret.r = Sleef_sincosd8_u35_intrin(x_in.r);
4268 return ret.t;
4269 }
4270 #endif
4271
4272
Sleef_sincospif16_u05(float16 x)4273 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincospif16_u05(float16 x)
4274 {
4275 union { float16 t; reg512f r; } x_in;
4276 x_in.t = x;
4277 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4278 ret.r = Sleef_sincospif16_u05_intrin(x_in.r);
4279 return ret.t;
4280 }
4281
Sleef_sincospif16_u35(float16 x)4282 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_sincospif16_u35(float16 x)
4283 {
4284 union { float16 t; reg512f r; } x_in;
4285 x_in.t = x;
4286 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4287 ret.r = Sleef_sincospif16_u35_intrin(x_in.r);
4288 return ret.t;
4289 }
4290
4291 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4292
Sleef_sincospid8_u05(double8 x)4293 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincospid8_u05(double8 x)
4294 {
4295 union { double8 t; reg512d r; } x_in;
4296 x_in.t = x;
4297 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4298 ret.r = Sleef_sincospid8_u05_intrin(x_in.r);
4299 return ret.t;
4300 }
4301
Sleef_sincospid8_u35(double8 x)4302 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_sincospid8_u35(double8 x)
4303 {
4304 union { double8 t; reg512d r; } x_in;
4305 x_in.t = x;
4306 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4307 ret.r = Sleef_sincospid8_u35_intrin(x_in.r);
4308 return ret.t;
4309 }
4310 #endif
4311
4312
Sleef_modff16(float16 x)4313 _CL_ALWAYSINLINE Sleef_float16_2 Sleef_modff16(float16 x)
4314 {
4315 union { float16 t; reg512f r; } x_in;
4316 x_in.t = x;
4317 union { Sleef_float16_2 t; Sleef_reg512f_2 r; } ret;
4318 ret.r = Sleef_modff16_intrin(x_in.r);
4319 return ret.t;
4320 }
4321
4322 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4323
Sleef_modfd8(double8 x)4324 _CL_ALWAYSINLINE Sleef_double8_2 Sleef_modfd8(double8 x)
4325 {
4326 union { double8 t; reg512d r; } x_in;
4327 x_in.t = x;
4328 union { Sleef_double8_2 t; Sleef_reg512d_2 r; } ret;
4329 ret.r = Sleef_modfd8_intrin(x_in.r);
4330 return ret.t;
4331 }
4332 #endif
4333
4334
Sleef_ldexpf16(float16 x,int16 k)4335 _CL_ALWAYSINLINE float16 Sleef_ldexpf16(float16 x, int16 k)
4336 {
4337 union { float16 t; reg512f r; } x_in;
4338 x_in.t = x;
4339 union { int16 t; reg512i r; } k_in;
4340 k_in.t = k;
4341 union { float16 t; reg512f r; } ret;
4342 ret.r = Sleef_ldexpf16_intrin(x_in.r, k_in.r);
4343 return ret.t;
4344 }
4345
4346 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4347
Sleef_ldexpd8(double8 x,int8 k)4348 _CL_ALWAYSINLINE double8 Sleef_ldexpd8(double8 x, int8 k)
4349 {
4350 union { double8 t; reg512d r; } x_in;
4351 x_in.t = x;
4352 union { int8 t; reg256i r; } k_in;
4353 k_in.t = k;
4354 union { double8 t; reg512d r; } ret;
4355 ret.r = Sleef_ldexpd8_intrin(x_in.r, k_in.r);
4356 return ret.t;
4357 }
4358 #endif
4359
4360
Sleef_expfrexpf16(float16 x)4361 _CL_ALWAYSINLINE int16 Sleef_expfrexpf16(float16 x)
4362 {
4363 union { float16 t; reg512f r; } x_in;
4364 x_in.t = x;
4365 union { int16 t; reg512i r; } ret;
4366 ret.r = Sleef_expfrexpf16_intrin(x_in.r);
4367 return ret.t;
4368 }
4369
4370 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4371
Sleef_expfrexpd8_long(double8 x)4372 _CL_ALWAYSINLINE long8 Sleef_expfrexpd8_long(double8 x)
4373 {
4374 union { double8 t; reg512d r; } x_in;
4375 x_in.t = x;
4376 union { long8 t; reg512i r; } ret;
4377 ret.r = Sleef_expfrexpd8_intrin(x_in.r);
4378 return ret.t;
4379 }
4380 #endif
4381
4382
Sleef_ilogbf16(float16 x)4383 _CL_ALWAYSINLINE int16 Sleef_ilogbf16(float16 x)
4384 {
4385 union { float16 t; reg512f r; } x_in;
4386 x_in.t = x;
4387 union { int16 t; reg512i r; } ret;
4388 ret.r = Sleef_ilogbf16_intrin(x_in.r);
4389 return ret.t;
4390 }
4391
4392 #ifdef SLEEF_DOUBLE_VEC_AVAILABLE
4393
Sleef_ilogbd8(double8 x)4394 _CL_ALWAYSINLINE int8 Sleef_ilogbd8(double8 x)
4395 {
4396 union { double8 t; reg512d r; } x_in;
4397 x_in.t = x;
4398 union { int8 t; reg256i r; } ret;
4399 ret.r = Sleef_ilogbd8_intrin(x_in.r);
4400 return ret.t;
4401 }
4402 #endif
4403
4404 #endif
4405