DPC++ Runtime
Runtime libraries for oneAPI DPC++
imf_simd.hpp
Go to the documentation of this file.
1 //==-------------- imf_simd.hpp - APIS for simd emulation ------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 // APIs for simd emulation
9 //===----------------------------------------------------------------------===//
10 
11 #pragma once
12 
13 #include <type_traits>
14 
15 extern "C" {
16 unsigned int __imf_vabs2(unsigned int);
17 unsigned int __imf_vabs4(unsigned int);
18 unsigned int __imf_vneg2(unsigned int);
19 unsigned int __imf_vneg4(unsigned int);
20 unsigned int __imf_vnegss2(unsigned int);
21 unsigned int __imf_vnegss4(unsigned int);
22 unsigned int __imf_vabsdiffs2(unsigned int, unsigned int);
23 unsigned int __imf_vabsdiffs4(unsigned int, unsigned int);
24 unsigned int __imf_vabsdiffu2(unsigned int, unsigned int);
25 unsigned int __imf_vabsdiffu4(unsigned int, unsigned int);
26 unsigned int __imf_vabsss2(unsigned int);
27 unsigned int __imf_vabsss4(unsigned int);
28 unsigned int __imf_vadd2(unsigned int, unsigned int);
29 unsigned int __imf_vadd4(unsigned int, unsigned int);
30 unsigned int __imf_vaddss2(unsigned int, unsigned int);
31 unsigned int __imf_vaddss4(unsigned int, unsigned int);
32 unsigned int __imf_vaddus2(unsigned int, unsigned int);
33 unsigned int __imf_vaddus4(unsigned int, unsigned int);
34 unsigned int __imf_vsub2(unsigned int, unsigned int);
35 unsigned int __imf_vsub4(unsigned int, unsigned int);
36 unsigned int __imf_vsubss2(unsigned int, unsigned int);
37 unsigned int __imf_vsubss4(unsigned int, unsigned int);
38 unsigned int __imf_vsubus2(unsigned int, unsigned int);
39 unsigned int __imf_vsubus4(unsigned int, unsigned int);
40 unsigned int __imf_vhaddu2(unsigned int, unsigned int);
41 unsigned int __imf_vhaddu4(unsigned int, unsigned int);
42 unsigned int __imf_vavgs2(unsigned int, unsigned int);
43 unsigned int __imf_vavgs4(unsigned int, unsigned int);
44 unsigned int __imf_vavgu2(unsigned int, unsigned int);
45 unsigned int __imf_vavgu4(unsigned int, unsigned int);
46 unsigned int __imf_vcmpeq2(unsigned int, unsigned int);
47 unsigned int __imf_vcmpeq4(unsigned int, unsigned int);
48 unsigned int __imf_vcmpges2(unsigned int, unsigned int);
49 unsigned int __imf_vcmpges4(unsigned int, unsigned int);
50 unsigned int __imf_vcmpgeu2(unsigned int, unsigned int);
51 unsigned int __imf_vcmpgeu4(unsigned int, unsigned int);
52 unsigned int __imf_vcmpgts2(unsigned int, unsigned int);
53 unsigned int __imf_vcmpgts4(unsigned int, unsigned int);
54 unsigned int __imf_vcmpgtu2(unsigned int, unsigned int);
55 unsigned int __imf_vcmpgtu4(unsigned int, unsigned int);
56 unsigned int __imf_vcmples2(unsigned int, unsigned int);
57 unsigned int __imf_vcmples4(unsigned int, unsigned int);
58 unsigned int __imf_vcmpleu2(unsigned int, unsigned int);
59 unsigned int __imf_vcmpleu4(unsigned int, unsigned int);
60 unsigned int __imf_vcmplts2(unsigned int, unsigned int);
61 unsigned int __imf_vcmplts4(unsigned int, unsigned int);
62 unsigned int __imf_vcmpltu2(unsigned int, unsigned int);
63 unsigned int __imf_vcmpltu4(unsigned int, unsigned int);
64 unsigned int __imf_vcmpne2(unsigned int, unsigned int);
65 unsigned int __imf_vcmpne4(unsigned int, unsigned int);
66 unsigned int __imf_vmaxs2(unsigned int, unsigned int);
67 unsigned int __imf_vmaxs4(unsigned int, unsigned int);
68 unsigned int __imf_vmaxu2(unsigned int, unsigned int);
69 unsigned int __imf_vmaxu4(unsigned int, unsigned int);
70 unsigned int __imf_vmins2(unsigned int, unsigned int);
71 unsigned int __imf_vmins4(unsigned int, unsigned int);
72 unsigned int __imf_vminu2(unsigned int, unsigned int);
73 unsigned int __imf_vminu4(unsigned int, unsigned int);
74 unsigned int __imf_vseteq2(unsigned int, unsigned int);
75 unsigned int __imf_vseteq4(unsigned int, unsigned int);
76 unsigned int __imf_vsetne2(unsigned int, unsigned int);
77 unsigned int __imf_vsetne4(unsigned int, unsigned int);
78 unsigned int __imf_vsetges2(unsigned int, unsigned int);
79 unsigned int __imf_vsetges4(unsigned int, unsigned int);
80 unsigned int __imf_vsetgeu2(unsigned int, unsigned int);
81 unsigned int __imf_vsetgeu4(unsigned int, unsigned int);
82 unsigned int __imf_vsetgts2(unsigned int, unsigned int);
83 unsigned int __imf_vsetgts4(unsigned int, unsigned int);
84 unsigned int __imf_vsetgtu2(unsigned int, unsigned int);
85 unsigned int __imf_vsetgtu4(unsigned int, unsigned int);
86 unsigned int __imf_vsetles2(unsigned int, unsigned int);
87 unsigned int __imf_vsetles4(unsigned int, unsigned int);
88 unsigned int __imf_vsetleu2(unsigned int, unsigned int);
89 unsigned int __imf_vsetleu4(unsigned int, unsigned int);
90 unsigned int __imf_vsetlts2(unsigned int, unsigned int);
91 unsigned int __imf_vsetlts4(unsigned int, unsigned int);
92 unsigned int __imf_vsetltu2(unsigned int, unsigned int);
93 unsigned int __imf_vsetltu4(unsigned int, unsigned int);
94 unsigned int __imf_vsads2(unsigned int, unsigned int);
95 unsigned int __imf_vsads4(unsigned int, unsigned int);
96 unsigned int __imf_vsadu2(unsigned int, unsigned int);
97 unsigned int __imf_vsadu4(unsigned int, unsigned int);
98 unsigned int __imf_viaddmax_s16x2(unsigned int, unsigned int, unsigned int);
99 unsigned int __imf_viaddmax_s16x2_relu(unsigned int, unsigned int,
100  unsigned int);
101 int __imf_viaddmax_s32(int, int, int);
102 int __imf_viaddmax_s32_relu(int, int, int);
103 unsigned int __imf_viaddmax_u16x2(unsigned int, unsigned int, unsigned int);
104 unsigned int __imf_viaddmax_u32(unsigned int, unsigned int, unsigned int);
105 
106 unsigned int __imf_viaddmin_s16x2(unsigned int, unsigned int, unsigned int);
107 unsigned int __imf_viaddmin_s16x2_relu(unsigned int, unsigned int,
108  unsigned int);
109 int __imf_viaddmin_s32(int, int, int);
110 int __imf_viaddmin_s32_relu(int, int, int);
111 unsigned int __imf_viaddmin_u16x2(unsigned int, unsigned int, unsigned int);
112 unsigned int __imf_viaddmin_u32(unsigned int, unsigned int, unsigned int);
113 unsigned int __imf_vibmax_s16x2(unsigned int, unsigned int, bool *, bool *);
114 int __imf_vibmax_s32(int, int, bool *);
115 unsigned int __imf_vibmax_u16x2(unsigned int, unsigned int, bool *, bool *);
116 unsigned int __imf_vibmax_u32(unsigned int, unsigned int, bool *);
117 unsigned int __imf_vibmin_s16x2(unsigned int, unsigned int, bool *, bool *);
118 int __imf_vibmin_s32(int, int, bool *);
119 unsigned int __imf_vibmin_u16x2(unsigned int, unsigned int, bool *, bool *);
120 unsigned int __imf_vibmin_u32(unsigned int, unsigned int, bool *);
121 unsigned int __imf_vimax3_s16x2(unsigned int, unsigned int, unsigned int);
122 unsigned int __imf_vimax3_s16x2_relu(unsigned int, unsigned int, unsigned int);
123 unsigned int __imf_vimin3_s16x2(unsigned int, unsigned int, unsigned int);
124 unsigned int __imf_vimin3_s16x2_relu(unsigned int, unsigned int, unsigned int);
125 int __imf_vimax3_s32(int, int, int);
126 int __imf_vimax3_s32_relu(int, int, int);
127 int __imf_vimin3_s32(int, int, int);
128 int __imf_vimin3_s32_relu(int, int, int);
129 unsigned int __imf_vimax3_u16x2(unsigned int, unsigned int, unsigned int);
130 unsigned int __imf_vimax3_u32(unsigned int, unsigned int, unsigned int);
131 unsigned int __imf_vimin3_u16x2(unsigned int, unsigned int, unsigned int);
132 unsigned int __imf_vimin3_u32(unsigned int, unsigned int, unsigned int);
133 unsigned int __imf_vimax_s16x2_relu(unsigned int, unsigned int);
134 int __imf_vimax_s32_relu(int, int);
135 unsigned int __imf_vimin_s16x2_relu(unsigned int, unsigned int);
136 int __imf_vimin_s32_relu(int, int);
137 };
138 
139 namespace sycl {
140 inline namespace _V1 {
141 namespace ext::intel::math {
142 
143 template <typename Tp>
144 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabs2(Tp x) {
145  return __imf_vabs2(x);
146 }
147 
148 template <typename Tp>
149 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabs4(Tp x) {
150  return __imf_vabs4(x);
151 }
152 
153 template <typename Tp>
154 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vneg2(Tp x) {
155  return __imf_vneg2(x);
156 }
157 
158 template <typename Tp>
159 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vneg4(Tp x) {
160  return __imf_vneg4(x);
161 }
162 
163 template <typename Tp>
164 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vnegss2(Tp x) {
165  return __imf_vnegss2(x);
166 }
167 
168 template <typename Tp>
169 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vnegss4(Tp x) {
170  return __imf_vnegss4(x);
171 }
172 
173 template <typename Tp>
174 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
175 vabsdiffs2(Tp x, Tp y) {
176  return __imf_vabsdiffs2(x, y);
177 }
178 
179 template <typename Tp>
180 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
181 vabsdiffs4(Tp x, Tp y) {
182  return __imf_vabsdiffs4(x, y);
183 }
184 
185 template <typename Tp>
186 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
187 vabsdiffu2(Tp x, Tp y) {
188  return __imf_vabsdiffu2(x, y);
189 }
190 
191 template <typename Tp>
192 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
193 vabsdiffu4(Tp x, Tp y) {
194  return __imf_vabsdiffu4(x, y);
195 }
196 
197 template <typename Tp>
198 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabsss2(Tp x) {
199  return __imf_vabsss2(x);
200 }
201 
202 template <typename Tp>
203 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabsss4(Tp x) {
204  return __imf_vabsss4(x);
205 }
206 
207 template <typename Tp>
208 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vadd2(Tp x,
209  Tp y) {
210  return __imf_vadd2(x, y);
211 }
212 
213 template <typename Tp>
214 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vadd4(Tp x,
215  Tp y) {
216  return __imf_vadd4(x, y);
217 }
218 
219 template <typename Tp>
220 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddss2(Tp x,
221  Tp y) {
222  return __imf_vaddss2(x, y);
223 }
224 
225 template <typename Tp>
226 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddss4(Tp x,
227  Tp y) {
228  return __imf_vaddss4(x, y);
229 }
230 
231 template <typename Tp>
232 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddus2(Tp x,
233  Tp y) {
234  return __imf_vaddus2(x, y);
235 }
236 
237 template <typename Tp>
238 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddus4(Tp x,
239  Tp y) {
240  return __imf_vaddus4(x, y);
241 }
242 
243 template <typename Tp>
244 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsub2(Tp x,
245  Tp y) {
246  return __imf_vsub2(x, y);
247 }
248 
249 template <typename Tp>
250 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsub4(Tp x,
251  Tp y) {
252  return __imf_vsub4(x, y);
253 }
254 
255 template <typename Tp>
256 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubss2(Tp x,
257  Tp y) {
258  return __imf_vsubss2(x, y);
259 }
260 
261 template <typename Tp>
262 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubss4(Tp x,
263  Tp y) {
264  return __imf_vsubss4(x, y);
265 }
266 
267 template <typename Tp>
268 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubus2(Tp x,
269  Tp y) {
270  return __imf_vsubus2(x, y);
271 }
272 
273 template <typename Tp>
274 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubus4(Tp x,
275  Tp y) {
276  return __imf_vsubus4(x, y);
277 }
278 
279 template <typename Tp>
280 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vhaddu2(Tp x,
281  Tp y) {
282  return __imf_vhaddu2(x, y);
283 }
284 
285 template <typename Tp>
286 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vhaddu4(Tp x,
287  Tp y) {
288  return __imf_vhaddu4(x, y);
289 }
290 
291 template <typename Tp>
292 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgs2(Tp x,
293  Tp y) {
294  return __imf_vavgs2(x, y);
295 }
296 
297 template <typename Tp>
298 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgs4(Tp x,
299  Tp y) {
300  return __imf_vavgs4(x, y);
301 }
302 
303 template <typename Tp>
304 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgu2(Tp x,
305  Tp y) {
306  return __imf_vavgu2(x, y);
307 }
308 
309 template <typename Tp>
310 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgu4(Tp x,
311  Tp y) {
312  return __imf_vavgu4(x, y);
313 }
314 
315 template <typename Tp>
316 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpeq2(Tp x,
317  Tp y) {
318  return __imf_vcmpeq2(x, y);
319 }
320 
321 template <typename Tp>
322 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpeq4(Tp x,
323  Tp y) {
324  return __imf_vcmpeq4(x, y);
325 }
326 
327 template <typename Tp>
328 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
329 vcmpges2(Tp x, Tp y) {
330  return __imf_vcmpges2(x, y);
331 }
332 
333 template <typename Tp>
334 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
335 vcmpges4(Tp x, Tp y) {
336  return __imf_vcmpges4(x, y);
337 }
338 
339 template <typename Tp>
340 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
341 vcmpgeu2(Tp x, Tp y) {
342  return __imf_vcmpgeu2(x, y);
343 }
344 
345 template <typename Tp>
346 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
347 vcmpgeu4(Tp x, Tp y) {
348  return __imf_vcmpgeu4(x, y);
349 }
350 
351 template <typename Tp>
352 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
353 vcmpgts2(Tp x, Tp y) {
354  return __imf_vcmpgts2(x, y);
355 }
356 
357 template <typename Tp>
358 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
359 vcmpgts4(Tp x, Tp y) {
360  return __imf_vcmpgts4(x, y);
361 }
362 
363 template <typename Tp>
364 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
365 vcmpgtu2(Tp x, Tp y) {
366  return __imf_vcmpgtu2(x, y);
367 }
368 
369 template <typename Tp>
370 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
371 vcmpgtu4(Tp x, Tp y) {
372  return __imf_vcmpgtu4(x, y);
373 }
374 
375 template <typename Tp>
376 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
377 vcmples2(Tp x, Tp y) {
378  return __imf_vcmples2(x, y);
379 }
380 
381 template <typename Tp>
382 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
383 vcmples4(Tp x, Tp y) {
384  return __imf_vcmples4(x, y);
385 }
386 
387 template <typename Tp>
388 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
389 vcmpleu2(Tp x, Tp y) {
390  return __imf_vcmpleu2(x, y);
391 }
392 
393 template <typename Tp>
394 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
395 vcmpleu4(Tp x, Tp y) {
396  return __imf_vcmpleu4(x, y);
397 }
398 
399 template <typename Tp>
400 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
401 vcmplts2(Tp x, Tp y) {
402  return __imf_vcmplts2(x, y);
403 }
404 
405 template <typename Tp>
406 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
407 vcmplts4(Tp x, Tp y) {
408  return __imf_vcmplts4(x, y);
409 }
410 
411 template <typename Tp>
412 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
413 vcmpltu2(Tp x, Tp y) {
414  return __imf_vcmpltu2(x, y);
415 }
416 
417 template <typename Tp>
418 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
419 vcmpltu4(Tp x, Tp y) {
420  return __imf_vcmpltu4(x, y);
421 }
422 
423 template <typename Tp>
424 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpne2(Tp x,
425  Tp y) {
426  return __imf_vcmpne2(x, y);
427 }
428 
429 template <typename Tp>
430 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpne4(Tp x,
431  Tp y) {
432  return __imf_vcmpne4(x, y);
433 }
434 
435 template <typename Tp>
436 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxs2(Tp x,
437  Tp y) {
438  return __imf_vmaxs2(x, y);
439 }
440 
441 template <typename Tp>
442 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxs4(Tp x,
443  Tp y) {
444  return __imf_vmaxs4(x, y);
445 }
446 
447 template <typename Tp>
448 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxu2(Tp x,
449  Tp y) {
450  return __imf_vmaxu2(x, y);
451 }
452 
453 template <typename Tp>
454 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxu4(Tp x,
455  Tp y) {
456  return __imf_vmaxu4(x, y);
457 }
458 
459 template <typename Tp>
460 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmins2(Tp x,
461  Tp y) {
462  return __imf_vmins2(x, y);
463 }
464 
465 template <typename Tp>
466 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmins4(Tp x,
467  Tp y) {
468  return __imf_vmins4(x, y);
469 }
470 
471 template <typename Tp>
472 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vminu2(Tp x,
473  Tp y) {
474  return __imf_vminu2(x, y);
475 }
476 
477 template <typename Tp>
478 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vminu4(Tp x,
479  Tp y) {
480  return __imf_vminu4(x, y);
481 }
482 
483 template <typename Tp>
484 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vseteq2(Tp x,
485  Tp y) {
486  return __imf_vseteq2(x, y);
487 }
488 
489 template <typename Tp>
490 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vseteq4(Tp x,
491  Tp y) {
492  return __imf_vseteq4(x, y);
493 }
494 
495 template <typename Tp>
496 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsetne2(Tp x,
497  Tp y) {
498  return __imf_vsetne2(x, y);
499 }
500 
501 template <typename Tp>
502 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsetne4(Tp x,
503  Tp y) {
504  return __imf_vsetne4(x, y);
505 }
506 
507 template <typename Tp>
508 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
509 vsetges2(Tp x, Tp y) {
510  return __imf_vsetges2(x, y);
511 }
512 
513 template <typename Tp>
514 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
515 vsetges4(Tp x, Tp y) {
516  return __imf_vsetges4(x, y);
517 }
518 
519 template <typename Tp>
520 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
521 vsetgeu2(Tp x, Tp y) {
522  return __imf_vsetgeu2(x, y);
523 }
524 
525 template <typename Tp>
526 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
527 vsetgeu4(Tp x, Tp y) {
528  return __imf_vsetgeu4(x, y);
529 }
530 
531 template <typename Tp>
532 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
533 vsetgts2(Tp x, Tp y) {
534  return __imf_vsetgts2(x, y);
535 }
536 
537 template <typename Tp>
538 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
539 vsetgts4(Tp x, Tp y) {
540  return __imf_vsetgts4(x, y);
541 }
542 
543 template <typename Tp>
544 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
545 vsetgtu2(Tp x, Tp y) {
546  return __imf_vsetgtu2(x, y);
547 }
548 
549 template <typename Tp>
550 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
551 vsetgtu4(Tp x, Tp y) {
552  return __imf_vsetgtu4(x, y);
553 }
554 
555 template <typename Tp>
556 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
557 vsetles2(Tp x, Tp y) {
558  return __imf_vsetles2(x, y);
559 }
560 
561 template <typename Tp>
562 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
563 vsetles4(Tp x, Tp y) {
564  return __imf_vsetles4(x, y);
565 }
566 
567 template <typename Tp>
568 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
569 vsetleu2(Tp x, Tp y) {
570  return __imf_vsetleu2(x, y);
571 }
572 
573 template <typename Tp>
574 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
575 vsetleu4(Tp x, Tp y) {
576  return __imf_vsetleu4(x, y);
577 }
578 
579 template <typename Tp>
580 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
581 vsetlts2(Tp x, Tp y) {
582  return __imf_vsetlts2(x, y);
583 }
584 
585 template <typename Tp>
586 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
587 vsetlts4(Tp x, Tp y) {
588  return __imf_vsetlts4(x, y);
589 }
590 
591 template <typename Tp>
592 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
593 vsetltu2(Tp x, Tp y) {
594  return __imf_vsetltu2(x, y);
595 }
596 
597 template <typename Tp>
598 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
599 vsetltu4(Tp x, Tp y) {
600  return __imf_vsetltu4(x, y);
601 }
602 
603 template <typename Tp>
604 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsads2(Tp x,
605  Tp y) {
606  return __imf_vsads2(x, y);
607 }
608 
609 template <typename Tp>
610 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsads4(Tp x,
611  Tp y) {
612  return __imf_vsads4(x, y);
613 }
614 
615 template <typename Tp>
616 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsadu2(Tp x,
617  Tp y) {
618  return __imf_vsadu2(x, y);
619 }
620 
621 template <typename Tp>
622 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsadu4(Tp x,
623  Tp y) {
624  return __imf_vsadu4(x, y);
625 }
626 
627 template <typename Tp>
628 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
629 viaddmax_s16x2(Tp x, Tp y, Tp z) {
630  return __imf_viaddmax_s16x2(x, y, z);
631 }
632 
633 template <typename Tp>
634 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
635 viaddmax_s16x2_relu(Tp x, Tp y, Tp z) {
636  return __imf_viaddmax_s16x2_relu(x, y, z);
637 }
638 
639 template <typename Tp>
640 std::enable_if_t<std::is_same_v<Tp, int>, int> viaddmax_s32(Tp x, Tp y, Tp z) {
641  return __imf_viaddmax_s32(x, y, z);
642 }
643 
644 template <typename Tp>
645 std::enable_if_t<std::is_same_v<Tp, int>, int> viaddmax_s32_relu(Tp x, Tp y,
646  Tp z) {
647  return __imf_viaddmax_s32_relu(x, y, z);
648 }
649 
650 template <typename Tp>
651 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
652 viaddmax_u16x2(Tp x, Tp y, Tp z) {
653  return __imf_viaddmax_u16x2(x, y, z);
654 }
655 
656 template <typename Tp>
657 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
658 viaddmax_u32(Tp x, Tp y, Tp z) {
659  return __imf_viaddmax_u32(x, y, z);
660 }
661 
662 template <typename Tp>
663 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
664 viaddmin_s16x2(Tp x, Tp y, Tp z) {
665  return __imf_viaddmin_s16x2(x, y, z);
666 }
667 
668 template <typename Tp>
669 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
670 viaddmin_s16x2_relu(Tp x, Tp y, Tp z) {
671  return __imf_viaddmin_s16x2_relu(x, y, z);
672 }
673 
674 template <typename Tp>
675 std::enable_if_t<std::is_same_v<Tp, int>, int> viaddmin_s32(Tp x, Tp y, Tp z) {
676  return __imf_viaddmin_s32(x, y, z);
677 }
678 
679 template <typename Tp>
680 std::enable_if_t<std::is_same_v<Tp, int>, int> viaddmin_s32_relu(Tp x, Tp y,
681  Tp z) {
682  return __imf_viaddmin_s32_relu(x, y, z);
683 }
684 
685 template <typename Tp>
686 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
687 viaddmin_u16x2(Tp x, Tp y, Tp z) {
688  return __imf_viaddmin_u16x2(x, y, z);
689 }
690 
691 template <typename Tp>
692 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
693 viaddmin_u32(Tp x, Tp y, Tp z) {
694  return __imf_viaddmin_u32(x, y, z);
695 }
696 
697 template <typename Tp>
698 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
699 vibmax_s16x2(Tp x, Tp y, bool *p_hi, bool *p_lo) {
700  return __imf_vibmax_s16x2(x, y, p_hi, p_lo);
701 }
702 
703 template <typename Tp>
704 std::enable_if_t<std::is_same_v<Tp, int>, int> vibmax_s32(Tp x, Tp y, bool *p) {
705  return __imf_vibmax_s32(x, y, p);
706 }
707 
708 template <typename Tp>
709 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
710 vibmax_u16x2(Tp x, Tp y, bool *p_hi, bool *p_lo) {
711  return __imf_vibmax_u16x2(x, y, p_hi, p_lo);
712 }
713 
714 template <typename Tp>
715 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
716 vibmax_u32(Tp x, Tp y, bool *p) {
717  return __imf_vibmax_u32(x, y, p);
718 }
719 
720 template <typename Tp>
721 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
722 vibmin_s16x2(Tp x, Tp y, bool *p_hi, bool *p_lo) {
723  return __imf_vibmin_s16x2(x, y, p_hi, p_lo);
724 }
725 
726 template <typename Tp>
727 std::enable_if_t<std::is_same_v<Tp, int>, int> vibmin_s32(Tp x, Tp y, bool *p) {
728  return __imf_vibmin_s32(x, y, p);
729 }
730 
731 template <typename Tp>
732 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
733 vibmin_u16x2(Tp x, Tp y, bool *p_hi, bool *p_lo) {
734  return __imf_vibmin_u16x2(x, y, p_hi, p_lo);
735 }
736 
737 template <typename Tp>
738 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
739 vibmin_u32(Tp x, Tp y, bool *p) {
740  return __imf_vibmin_u32(x, y, p);
741 }
742 
743 template <typename Tp>
744 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
745 vimax3_s16x2(Tp x, Tp y, Tp z) {
746  return __imf_vimax3_s16x2(x, y, z);
747 }
748 
749 template <typename Tp>
750 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
751 vimin3_s16x2(Tp x, Tp y, Tp z) {
752  return __imf_vimin3_s16x2(x, y, z);
753 }
754 
755 template <typename Tp>
756 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
757 vimax3_s16x2_relu(Tp x, Tp y, Tp z) {
758  return __imf_vimax3_s16x2_relu(x, y, z);
759 }
760 
761 template <typename Tp>
762 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
763 vimin3_s16x2_relu(Tp x, Tp y, Tp z) {
764  return __imf_vimin3_s16x2_relu(x, y, z);
765 }
766 
767 template <typename Tp>
768 std::enable_if_t<std::is_same_v<Tp, int>, int> vimax3_s32(Tp x, Tp y, Tp z) {
769  return __imf_vimax3_s32(x, y, z);
770 }
771 
772 template <typename Tp>
773 std::enable_if_t<std::is_same_v<Tp, int>, int> vimin3_s32(Tp x, Tp y, Tp z) {
774  return __imf_vimin3_s32(x, y, z);
775 }
776 
777 template <typename Tp>
778 std::enable_if_t<std::is_same_v<Tp, int>, int> vimax3_s32_relu(Tp x, Tp y,
779  Tp z) {
780  return __imf_vimax3_s32_relu(x, y, z);
781 }
782 
783 template <typename Tp>
784 std::enable_if_t<std::is_same_v<Tp, int>, int> vimin3_s32_relu(Tp x, Tp y,
785  Tp z) {
786  return __imf_vimin3_s32_relu(x, y, z);
787 }
788 
789 template <typename Tp>
790 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
791 vimax3_u16x2(Tp x, Tp y, Tp z) {
792  return __imf_vimax3_u16x2(x, y, z);
793 }
794 
795 template <typename Tp>
796 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
797 vimin3_u16x2(Tp x, Tp y, Tp z) {
798  return __imf_vimin3_u16x2(x, y, z);
799 }
800 
801 template <typename Tp>
802 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
803 vimax3_u32(Tp x, Tp y, Tp z) {
804  return __imf_vimax3_u32(x, y, z);
805 }
806 
807 template <typename Tp>
808 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
809 vimin3_u32(Tp x, Tp y, Tp z) {
810  return __imf_vimin3_u32(x, y, z);
811 }
812 
813 template <typename Tp>
814 std::enable_if_t<std::is_same_v<Tp, int>, int> vimax_s32_relu(Tp x, Tp y) {
815  return __imf_vimax_s32_relu(x, y);
816 }
817 
818 template <typename Tp>
819 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
820 vimax_s16x2_relu(Tp x, Tp y) {
821  return __imf_vimax_s16x2_relu(x, y);
822 }
823 
824 template <typename Tp>
825 std::enable_if_t<std::is_same_v<Tp, int>, int> vimin_s32_relu(Tp x, Tp y) {
826  return __imf_vimin_s32_relu(x, y);
827 }
828 
829 template <typename Tp>
830 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
831 vimin_s16x2_relu(Tp x, Tp y) {
832  return __imf_vimin_s16x2_relu(x, y);
833 }
834 
835 } // namespace ext::intel::math
836 } // namespace _V1
837 } // namespace sycl
unsigned int __imf_vimax3_s16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vsubss4(unsigned int, unsigned int)
unsigned int __imf_vsub4(unsigned int, unsigned int)
unsigned int __imf_viaddmax_u32(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vhaddu4(unsigned int, unsigned int)
unsigned int __imf_vmaxs4(unsigned int, unsigned int)
int __imf_viaddmin_s32_relu(int, int, int)
unsigned int __imf_vibmax_u16x2(unsigned int, unsigned int, bool *, bool *)
unsigned int __imf_vimax3_u16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vnegss2(unsigned int)
unsigned int __imf_vaddus2(unsigned int, unsigned int)
unsigned int __imf_vimax_s16x2_relu(unsigned int, unsigned int)
unsigned int __imf_vsub2(unsigned int, unsigned int)
int __imf_vibmin_s32(int, int, bool *)
unsigned int __imf_vavgs2(unsigned int, unsigned int)
unsigned int __imf_vsetgeu2(unsigned int, unsigned int)
unsigned int __imf_vimin3_u16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vnegss4(unsigned int)
unsigned int __imf_vcmpges2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffu2(unsigned int, unsigned int)
unsigned int __imf_vcmpgtu2(unsigned int, unsigned int)
unsigned int __imf_viaddmin_s16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vhaddu2(unsigned int, unsigned int)
int __imf_vimin_s32_relu(int, int)
unsigned int __imf_vimin_s16x2_relu(unsigned int, unsigned int)
unsigned int __imf_vibmin_u16x2(unsigned int, unsigned int, bool *, bool *)
unsigned int __imf_vaddss2(unsigned int, unsigned int)
unsigned int __imf_vsetgtu4(unsigned int, unsigned int)
unsigned int __imf_viaddmax_s16x2_relu(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vsetne4(unsigned int, unsigned int)
int __imf_viaddmax_s32_relu(int, int, int)
unsigned int __imf_vsubus2(unsigned int, unsigned int)
int __imf_vimax3_s32(int, int, int)
unsigned int __imf_viaddmin_u32(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vmaxs2(unsigned int, unsigned int)
unsigned int __imf_vimin3_s16x2_relu(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vibmin_u32(unsigned int, unsigned int, bool *)
unsigned int __imf_vsetgts4(unsigned int, unsigned int)
unsigned int __imf_vsadu2(unsigned int, unsigned int)
unsigned int __imf_vcmpne2(unsigned int, unsigned int)
unsigned int __imf_vneg4(unsigned int)
unsigned int __imf_vimin3_s16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vcmpleu4(unsigned int, unsigned int)
unsigned int __imf_vsetltu2(unsigned int, unsigned int)
unsigned int __imf_vcmpges4(unsigned int, unsigned int)
unsigned int __imf_vmins2(unsigned int, unsigned int)
int __imf_vimin3_s32(int, int, int)
unsigned int __imf_viaddmax_s16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vabsss4(unsigned int)
unsigned int __imf_vsubss2(unsigned int, unsigned int)
unsigned int __imf_vcmplts2(unsigned int, unsigned int)
unsigned int __imf_vadd2(unsigned int, unsigned int)
int __imf_vibmax_s32(int, int, bool *)
unsigned int __imf_vimax3_u32(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vcmples2(unsigned int, unsigned int)
unsigned int __imf_viaddmin_u16x2(unsigned int, unsigned int, unsigned int)
int __imf_viaddmax_s32(int, int, int)
unsigned int __imf_vsetleu4(unsigned int, unsigned int)
unsigned int __imf_vcmpeq4(unsigned int, unsigned int)
unsigned int __imf_vsads2(unsigned int, unsigned int)
unsigned int __imf_vneg2(unsigned int)
unsigned int __imf_vsetltu4(unsigned int, unsigned int)
unsigned int __imf_vabsdiffs2(unsigned int, unsigned int)
int __imf_vimax3_s32_relu(int, int, int)
unsigned int __imf_vibmax_s16x2(unsigned int, unsigned int, bool *, bool *)
unsigned int __imf_vabs4(unsigned int)
unsigned int __imf_vcmpleu2(unsigned int, unsigned int)
int __imf_vimax_s32_relu(int, int)
unsigned int __imf_vseteq4(unsigned int, unsigned int)
unsigned int __imf_vcmpne4(unsigned int, unsigned int)
unsigned int __imf_vcmpgeu2(unsigned int, unsigned int)
unsigned int __imf_vminu4(unsigned int, unsigned int)
unsigned int __imf_vcmpgts4(unsigned int, unsigned int)
unsigned int __imf_vadd4(unsigned int, unsigned int)
unsigned int __imf_vsetgts2(unsigned int, unsigned int)
unsigned int __imf_vsubus4(unsigned int, unsigned int)
unsigned int __imf_vibmax_u32(unsigned int, unsigned int, bool *)
unsigned int __imf_vaddus4(unsigned int, unsigned int)
unsigned int __imf_vminu2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffu4(unsigned int, unsigned int)
unsigned int __imf_vcmpgtu4(unsigned int, unsigned int)
unsigned int __imf_viaddmin_s16x2_relu(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vcmplts4(unsigned int, unsigned int)
unsigned int __imf_vcmpgts2(unsigned int, unsigned int)
unsigned int __imf_vsetles4(unsigned int, unsigned int)
unsigned int __imf_vsetlts2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffs4(unsigned int, unsigned int)
unsigned int __imf_vsetne2(unsigned int, unsigned int)
int __imf_vimin3_s32_relu(int, int, int)
unsigned int __imf_vcmples4(unsigned int, unsigned int)
unsigned int __imf_vmaxu2(unsigned int, unsigned int)
unsigned int __imf_vsetges2(unsigned int, unsigned int)
unsigned int __imf_vimin3_u32(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vavgu2(unsigned int, unsigned int)
unsigned int __imf_vmins4(unsigned int, unsigned int)
unsigned int __imf_vavgs4(unsigned int, unsigned int)
unsigned int __imf_vcmpgeu4(unsigned int, unsigned int)
unsigned int __imf_vabsss2(unsigned int)
unsigned int __imf_vcmpltu2(unsigned int, unsigned int)
unsigned int __imf_vsads4(unsigned int, unsigned int)
unsigned int __imf_vsetgtu2(unsigned int, unsigned int)
unsigned int __imf_vabs2(unsigned int)
unsigned int __imf_vsetges4(unsigned int, unsigned int)
unsigned int __imf_vaddss4(unsigned int, unsigned int)
unsigned int __imf_vsetleu2(unsigned int, unsigned int)
unsigned int __imf_vsetgeu4(unsigned int, unsigned int)
unsigned int __imf_vsetlts4(unsigned int, unsigned int)
unsigned int __imf_vavgu4(unsigned int, unsigned int)
unsigned int __imf_vcmpltu4(unsigned int, unsigned int)
unsigned int __imf_vmaxu4(unsigned int, unsigned int)
unsigned int __imf_vimax3_s16x2_relu(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vibmin_s16x2(unsigned int, unsigned int, bool *, bool *)
unsigned int __imf_viaddmax_u16x2(unsigned int, unsigned int, unsigned int)
unsigned int __imf_vsadu4(unsigned int, unsigned int)
int __imf_viaddmin_s32(int, int, int)
unsigned int __imf_vseteq2(unsigned int, unsigned int)
unsigned int __imf_vsetles2(unsigned int, unsigned int)
unsigned int __imf_vcmpeq2(unsigned int, unsigned int)
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmin_u32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:693
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxu4(Tp x, Tp y)
Definition: imf_simd.hpp:454
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgts4(Tp x, Tp y)
Definition: imf_simd.hpp:539
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimin3_s16x2_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:763
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsads4(Tp x, Tp y)
Definition: imf_simd.hpp:610
std::enable_if_t< std::is_same_v< Tp, int >, int > vibmax_s32(Tp x, Tp y, bool *p)
Definition: imf_simd.hpp:704
std::enable_if_t< std::is_same_v< Tp, int >, int > viaddmax_s32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:640
std::enable_if_t< std::is_same_v< Tp, int >, int > vimax_s32_relu(Tp x, Tp y)
Definition: imf_simd.hpp:814
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vhaddu4(Tp x, Tp y)
Definition: imf_simd.hpp:286
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpeq2(Tp x, Tp y)
Definition: imf_simd.hpp:316
std::enable_if_t< std::is_same_v< Tp, int >, int > vimin3_s32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:773
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmples2(Tp x, Tp y)
Definition: imf_simd.hpp:377
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetles4(Tp x, Tp y)
Definition: imf_simd.hpp:563
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsss2(Tp x)
Definition: imf_simd.hpp:198
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpltu2(Tp x, Tp y)
Definition: imf_simd.hpp:413
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmin_u16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:687
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgeu2(Tp x, Tp y)
Definition: imf_simd.hpp:341
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimin3_u16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:797
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmin_u32(Tp x, Tp y, bool *p)
Definition: imf_simd.hpp:739
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsadu4(Tp x, Tp y)
Definition: imf_simd.hpp:622
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmin_s16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:664
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgts2(Tp x, Tp y)
Definition: imf_simd.hpp:533
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetne2(Tp x, Tp y)
Definition: imf_simd.hpp:496
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimin3_u32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:809
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsub2(Tp x, Tp y)
Definition: imf_simd.hpp:244
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxs2(Tp x, Tp y)
Definition: imf_simd.hpp:436
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffs2(Tp x, Tp y)
Definition: imf_simd.hpp:175
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimax3_s16x2_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:757
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetne4(Tp x, Tp y)
Definition: imf_simd.hpp:502
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vminu2(Tp x, Tp y)
Definition: imf_simd.hpp:472
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpleu2(Tp x, Tp y)
Definition: imf_simd.hpp:389
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgs2(Tp x, Tp y)
Definition: imf_simd.hpp:292
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpne4(Tp x, Tp y)
Definition: imf_simd.hpp:430
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetleu4(Tp x, Tp y)
Definition: imf_simd.hpp:575
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetleu2(Tp x, Tp y)
Definition: imf_simd.hpp:569
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vnegss2(Tp x)
Definition: imf_simd.hpp:164
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpges2(Tp x, Tp y)
Definition: imf_simd.hpp:329
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgtu4(Tp x, Tp y)
Definition: imf_simd.hpp:371
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimin_s16x2_relu(Tp x, Tp y)
Definition: imf_simd.hpp:831
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxs4(Tp x, Tp y)
Definition: imf_simd.hpp:442
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetlts2(Tp x, Tp y)
Definition: imf_simd.hpp:581
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vseteq4(Tp x, Tp y)
Definition: imf_simd.hpp:490
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgu2(Tp x, Tp y)
Definition: imf_simd.hpp:304
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmins2(Tp x, Tp y)
Definition: imf_simd.hpp:460
std::enable_if_t< std::is_same_v< Tp, int >, int > vimax3_s32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:768
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgtu2(Tp x, Tp y)
Definition: imf_simd.hpp:365
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddss4(Tp x, Tp y)
Definition: imf_simd.hpp:226
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffu4(Tp x, Tp y)
Definition: imf_simd.hpp:193
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimax3_u16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:791
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpltu4(Tp x, Tp y)
Definition: imf_simd.hpp:419
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetles2(Tp x, Tp y)
Definition: imf_simd.hpp:557
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsub4(Tp x, Tp y)
Definition: imf_simd.hpp:250
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddus2(Tp x, Tp y)
Definition: imf_simd.hpp:232
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimax3_u32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:803
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgeu4(Tp x, Tp y)
Definition: imf_simd.hpp:527
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetges2(Tp x, Tp y)
Definition: imf_simd.hpp:509
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vminu4(Tp x, Tp y)
Definition: imf_simd.hpp:478
std::enable_if_t< std::is_same_v< Tp, int >, int > vimin_s32_relu(Tp x, Tp y)
Definition: imf_simd.hpp:825
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabs2(Tp x)
Definition: imf_simd.hpp:144
std::enable_if_t< std::is_same_v< Tp, int >, int > viaddmax_s32_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:645
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmax_u16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:652
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmin_s16x2_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:670
std::enable_if_t< std::is_same_v< Tp, int >, int > vimin3_s32_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:784
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmples4(Tp x, Tp y)
Definition: imf_simd.hpp:383
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmins4(Tp x, Tp y)
Definition: imf_simd.hpp:466
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubus2(Tp x, Tp y)
Definition: imf_simd.hpp:268
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vadd4(Tp x, Tp y)
Definition: imf_simd.hpp:214
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgeu2(Tp x, Tp y)
Definition: imf_simd.hpp:521
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vneg4(Tp x)
Definition: imf_simd.hpp:159
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsadu2(Tp x, Tp y)
Definition: imf_simd.hpp:616
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetltu4(Tp x, Tp y)
Definition: imf_simd.hpp:599
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgts4(Tp x, Tp y)
Definition: imf_simd.hpp:359
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vhaddu2(Tp x, Tp y)
Definition: imf_simd.hpp:280
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpne2(Tp x, Tp y)
Definition: imf_simd.hpp:424
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgeu4(Tp x, Tp y)
Definition: imf_simd.hpp:347
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmax_s16x2_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:635
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmax_u32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:658
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgs4(Tp x, Tp y)
Definition: imf_simd.hpp:298
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddus4(Tp x, Tp y)
Definition: imf_simd.hpp:238
std::enable_if_t< std::is_same_v< Tp, int >, int > vibmin_s32(Tp x, Tp y, bool *p)
Definition: imf_simd.hpp:727
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vneg2(Tp x)
Definition: imf_simd.hpp:154
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > viaddmax_s16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:629
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubss2(Tp x, Tp y)
Definition: imf_simd.hpp:256
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxu2(Tp x, Tp y)
Definition: imf_simd.hpp:448
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgts2(Tp x, Tp y)
Definition: imf_simd.hpp:353
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffu2(Tp x, Tp y)
Definition: imf_simd.hpp:187
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsads2(Tp x, Tp y)
Definition: imf_simd.hpp:604
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmin_u16x2(Tp x, Tp y, bool *p_hi, bool *p_lo)
Definition: imf_simd.hpp:733
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetlts4(Tp x, Tp y)
Definition: imf_simd.hpp:587
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgtu2(Tp x, Tp y)
Definition: imf_simd.hpp:545
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpeq4(Tp x, Tp y)
Definition: imf_simd.hpp:322
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddss2(Tp x, Tp y)
Definition: imf_simd.hpp:220
std::enable_if_t< std::is_same_v< Tp, int >, int > viaddmin_s32_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:680
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmax_u16x2(Tp x, Tp y, bool *p_hi, bool *p_lo)
Definition: imf_simd.hpp:710
std::enable_if_t< std::is_same_v< Tp, int >, int > viaddmin_s32(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:675
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgtu4(Tp x, Tp y)
Definition: imf_simd.hpp:551
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmax_u32(Tp x, Tp y, bool *p)
Definition: imf_simd.hpp:716
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimax_s16x2_relu(Tp x, Tp y)
Definition: imf_simd.hpp:820
std::enable_if_t< std::is_same_v< Tp, int >, int > vimax3_s32_relu(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:778
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpleu4(Tp x, Tp y)
Definition: imf_simd.hpp:395
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmin_s16x2(Tp x, Tp y, bool *p_hi, bool *p_lo)
Definition: imf_simd.hpp:722
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubus4(Tp x, Tp y)
Definition: imf_simd.hpp:274
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsss4(Tp x)
Definition: imf_simd.hpp:203
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmplts2(Tp x, Tp y)
Definition: imf_simd.hpp:401
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vibmax_s16x2(Tp x, Tp y, bool *p_hi, bool *p_lo)
Definition: imf_simd.hpp:699
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffs4(Tp x, Tp y)
Definition: imf_simd.hpp:181
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vseteq2(Tp x, Tp y)
Definition: imf_simd.hpp:484
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmplts4(Tp x, Tp y)
Definition: imf_simd.hpp:407
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpges4(Tp x, Tp y)
Definition: imf_simd.hpp:335
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubss4(Tp x, Tp y)
Definition: imf_simd.hpp:262
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimax3_s16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:745
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetltu2(Tp x, Tp y)
Definition: imf_simd.hpp:593
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgu4(Tp x, Tp y)
Definition: imf_simd.hpp:310
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabs4(Tp x)
Definition: imf_simd.hpp:149
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vimin3_s16x2(Tp x, Tp y, Tp z)
Definition: imf_simd.hpp:751
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetges4(Tp x, Tp y)
Definition: imf_simd.hpp:515
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vnegss4(Tp x)
Definition: imf_simd.hpp:169
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vadd2(Tp x, Tp y)
Definition: imf_simd.hpp:208
auto auto autodecltype(x) z
autodecltype(x) x
Definition: access.hpp:18