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 extern "C" {
14 unsigned int __imf_vabs2(unsigned int);
15 unsigned int __imf_vabs4(unsigned int);
16 unsigned int __imf_vneg2(unsigned int);
17 unsigned int __imf_vneg4(unsigned int);
18 unsigned int __imf_vnegss2(unsigned int);
19 unsigned int __imf_vnegss4(unsigned int);
20 unsigned int __imf_vabsdiffs2(unsigned int, unsigned int);
21 unsigned int __imf_vabsdiffs4(unsigned int, unsigned int);
22 unsigned int __imf_vabsdiffu2(unsigned int, unsigned int);
23 unsigned int __imf_vabsdiffu4(unsigned int, unsigned int);
24 unsigned int __imf_vabsss2(unsigned int);
25 unsigned int __imf_vabsss4(unsigned int);
26 unsigned int __imf_vadd2(unsigned int, unsigned int);
27 unsigned int __imf_vadd4(unsigned int, unsigned int);
28 unsigned int __imf_vaddss2(unsigned int, unsigned int);
29 unsigned int __imf_vaddss4(unsigned int, unsigned int);
30 unsigned int __imf_vaddus2(unsigned int, unsigned int);
31 unsigned int __imf_vaddus4(unsigned int, unsigned int);
32 unsigned int __imf_vsub2(unsigned int, unsigned int);
33 unsigned int __imf_vsub4(unsigned int, unsigned int);
34 unsigned int __imf_vsubss2(unsigned int, unsigned int);
35 unsigned int __imf_vsubss4(unsigned int, unsigned int);
36 unsigned int __imf_vsubus2(unsigned int, unsigned int);
37 unsigned int __imf_vsubus4(unsigned int, unsigned int);
38 unsigned int __imf_vhaddu2(unsigned int, unsigned int);
39 unsigned int __imf_vhaddu4(unsigned int, unsigned int);
40 unsigned int __imf_vavgs2(unsigned int, unsigned int);
41 unsigned int __imf_vavgs4(unsigned int, unsigned int);
42 unsigned int __imf_vavgu2(unsigned int, unsigned int);
43 unsigned int __imf_vavgu4(unsigned int, unsigned int);
44 unsigned int __imf_vcmpeq2(unsigned int, unsigned int);
45 unsigned int __imf_vcmpeq4(unsigned int, unsigned int);
46 unsigned int __imf_vcmpges2(unsigned int, unsigned int);
47 unsigned int __imf_vcmpges4(unsigned int, unsigned int);
48 unsigned int __imf_vcmpgeu2(unsigned int, unsigned int);
49 unsigned int __imf_vcmpgeu4(unsigned int, unsigned int);
50 unsigned int __imf_vcmpgts2(unsigned int, unsigned int);
51 unsigned int __imf_vcmpgts4(unsigned int, unsigned int);
52 unsigned int __imf_vcmpgtu2(unsigned int, unsigned int);
53 unsigned int __imf_vcmpgtu4(unsigned int, unsigned int);
54 unsigned int __imf_vcmples2(unsigned int, unsigned int);
55 unsigned int __imf_vcmples4(unsigned int, unsigned int);
56 unsigned int __imf_vcmpleu2(unsigned int, unsigned int);
57 unsigned int __imf_vcmpleu4(unsigned int, unsigned int);
58 unsigned int __imf_vcmplts2(unsigned int, unsigned int);
59 unsigned int __imf_vcmplts4(unsigned int, unsigned int);
60 unsigned int __imf_vcmpltu2(unsigned int, unsigned int);
61 unsigned int __imf_vcmpltu4(unsigned int, unsigned int);
62 unsigned int __imf_vcmpne2(unsigned int, unsigned int);
63 unsigned int __imf_vcmpne4(unsigned int, unsigned int);
64 unsigned int __imf_vmaxs2(unsigned int, unsigned int);
65 unsigned int __imf_vmaxs4(unsigned int, unsigned int);
66 unsigned int __imf_vmaxu2(unsigned int, unsigned int);
67 unsigned int __imf_vmaxu4(unsigned int, unsigned int);
68 unsigned int __imf_vmins2(unsigned int, unsigned int);
69 unsigned int __imf_vmins4(unsigned int, unsigned int);
70 unsigned int __imf_vminu2(unsigned int, unsigned int);
71 unsigned int __imf_vminu4(unsigned int, unsigned int);
72 unsigned int __imf_vseteq2(unsigned int, unsigned int);
73 unsigned int __imf_vseteq4(unsigned int, unsigned int);
74 unsigned int __imf_vsetne2(unsigned int, unsigned int);
75 unsigned int __imf_vsetne4(unsigned int, unsigned int);
76 unsigned int __imf_vsetges2(unsigned int, unsigned int);
77 unsigned int __imf_vsetges4(unsigned int, unsigned int);
78 unsigned int __imf_vsetgeu2(unsigned int, unsigned int);
79 unsigned int __imf_vsetgeu4(unsigned int, unsigned int);
80 unsigned int __imf_vsetgts2(unsigned int, unsigned int);
81 unsigned int __imf_vsetgts4(unsigned int, unsigned int);
82 unsigned int __imf_vsetgtu2(unsigned int, unsigned int);
83 unsigned int __imf_vsetgtu4(unsigned int, unsigned int);
84 unsigned int __imf_vsetles2(unsigned int, unsigned int);
85 unsigned int __imf_vsetles4(unsigned int, unsigned int);
86 unsigned int __imf_vsetleu2(unsigned int, unsigned int);
87 unsigned int __imf_vsetleu4(unsigned int, unsigned int);
88 unsigned int __imf_vsetlts2(unsigned int, unsigned int);
89 unsigned int __imf_vsetlts4(unsigned int, unsigned int);
90 unsigned int __imf_vsetltu2(unsigned int, unsigned int);
91 unsigned int __imf_vsetltu4(unsigned int, unsigned int);
92 unsigned int __imf_vsads2(unsigned int, unsigned int);
93 unsigned int __imf_vsads4(unsigned int, unsigned int);
94 unsigned int __imf_vsadu2(unsigned int, unsigned int);
95 unsigned int __imf_vsadu4(unsigned int, unsigned int);
96 };
97 
98 namespace sycl {
99 inline namespace _V1 {
100 namespace ext::intel::math {
101 
102 template <typename Tp>
103 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabs2(Tp x) {
104  return __imf_vabs2(x);
105 }
106 
107 template <typename Tp>
108 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabs4(Tp x) {
109  return __imf_vabs4(x);
110 }
111 
112 template <typename Tp>
113 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vneg2(Tp x) {
114  return __imf_vneg2(x);
115 }
116 
117 template <typename Tp>
118 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vneg4(Tp x) {
119  return __imf_vneg4(x);
120 }
121 
122 template <typename Tp>
123 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vnegss2(Tp x) {
124  return __imf_vnegss2(x);
125 }
126 
127 template <typename Tp>
128 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vnegss4(Tp x) {
129  return __imf_vnegss4(x);
130 }
131 
132 template <typename Tp>
133 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
134 vabsdiffs2(Tp x, Tp y) {
135  return __imf_vabsdiffs2(x, y);
136 }
137 
138 template <typename Tp>
139 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
140 vabsdiffs4(Tp x, Tp y) {
141  return __imf_vabsdiffs4(x, y);
142 }
143 
144 template <typename Tp>
145 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
146 vabsdiffu2(Tp x, Tp y) {
147  return __imf_vabsdiffu2(x, y);
148 }
149 
150 template <typename Tp>
151 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
152 vabsdiffu4(Tp x, Tp y) {
153  return __imf_vabsdiffu4(x, y);
154 }
155 
156 template <typename Tp>
157 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabsss2(Tp x) {
158  return __imf_vabsss2(x);
159 }
160 
161 template <typename Tp>
162 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vabsss4(Tp x) {
163  return __imf_vabsss4(x);
164 }
165 
166 template <typename Tp>
167 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vadd2(Tp x,
168  Tp y) {
169  return __imf_vadd2(x, y);
170 }
171 
172 template <typename Tp>
173 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vadd4(Tp x,
174  Tp y) {
175  return __imf_vadd4(x, y);
176 }
177 
178 template <typename Tp>
179 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddss2(Tp x,
180  Tp y) {
181  return __imf_vaddss2(x, y);
182 }
183 
184 template <typename Tp>
185 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddss4(Tp x,
186  Tp y) {
187  return __imf_vaddss4(x, y);
188 }
189 
190 template <typename Tp>
191 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddus2(Tp x,
192  Tp y) {
193  return __imf_vaddus2(x, y);
194 }
195 
196 template <typename Tp>
197 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vaddus4(Tp x,
198  Tp y) {
199  return __imf_vaddus4(x, y);
200 }
201 
202 template <typename Tp>
203 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsub2(Tp x,
204  Tp y) {
205  return __imf_vsub2(x, y);
206 }
207 
208 template <typename Tp>
209 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsub4(Tp x,
210  Tp y) {
211  return __imf_vsub4(x, y);
212 }
213 
214 template <typename Tp>
215 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubss2(Tp x,
216  Tp y) {
217  return __imf_vsubss2(x, y);
218 }
219 
220 template <typename Tp>
221 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubss4(Tp x,
222  Tp y) {
223  return __imf_vsubss4(x, y);
224 }
225 
226 template <typename Tp>
227 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubus2(Tp x,
228  Tp y) {
229  return __imf_vsubus2(x, y);
230 }
231 
232 template <typename Tp>
233 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsubus4(Tp x,
234  Tp y) {
235  return __imf_vsubus4(x, y);
236 }
237 
238 template <typename Tp>
239 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vhaddu2(Tp x,
240  Tp y) {
241  return __imf_vhaddu2(x, y);
242 }
243 
244 template <typename Tp>
245 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vhaddu4(Tp x,
246  Tp y) {
247  return __imf_vhaddu4(x, y);
248 }
249 
250 template <typename Tp>
251 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgs2(Tp x,
252  Tp y) {
253  return __imf_vavgs2(x, y);
254 }
255 
256 template <typename Tp>
257 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgs4(Tp x,
258  Tp y) {
259  return __imf_vavgs4(x, y);
260 }
261 
262 template <typename Tp>
263 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgu2(Tp x,
264  Tp y) {
265  return __imf_vavgu2(x, y);
266 }
267 
268 template <typename Tp>
269 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vavgu4(Tp x,
270  Tp y) {
271  return __imf_vavgu4(x, y);
272 }
273 
274 template <typename Tp>
275 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpeq2(Tp x,
276  Tp y) {
277  return __imf_vcmpeq2(x, y);
278 }
279 
280 template <typename Tp>
281 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpeq4(Tp x,
282  Tp y) {
283  return __imf_vcmpeq4(x, y);
284 }
285 
286 template <typename Tp>
287 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
288 vcmpges2(Tp x, Tp y) {
289  return __imf_vcmpges2(x, y);
290 }
291 
292 template <typename Tp>
293 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
294 vcmpges4(Tp x, Tp y) {
295  return __imf_vcmpges4(x, y);
296 }
297 
298 template <typename Tp>
299 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
300 vcmpgeu2(Tp x, Tp y) {
301  return __imf_vcmpgeu2(x, y);
302 }
303 
304 template <typename Tp>
305 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
306 vcmpgeu4(Tp x, Tp y) {
307  return __imf_vcmpgeu4(x, y);
308 }
309 
310 template <typename Tp>
311 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
312 vcmpgts2(Tp x, Tp y) {
313  return __imf_vcmpgts2(x, y);
314 }
315 
316 template <typename Tp>
317 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
318 vcmpgts4(Tp x, Tp y) {
319  return __imf_vcmpgts4(x, y);
320 }
321 
322 template <typename Tp>
323 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
324 vcmpgtu2(Tp x, Tp y) {
325  return __imf_vcmpgtu2(x, y);
326 }
327 
328 template <typename Tp>
329 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
330 vcmpgtu4(Tp x, Tp y) {
331  return __imf_vcmpgtu4(x, y);
332 }
333 
334 template <typename Tp>
335 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
336 vcmples2(Tp x, Tp y) {
337  return __imf_vcmples2(x, y);
338 }
339 
340 template <typename Tp>
341 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
342 vcmples4(Tp x, Tp y) {
343  return __imf_vcmples4(x, y);
344 }
345 
346 template <typename Tp>
347 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
348 vcmpleu2(Tp x, Tp y) {
349  return __imf_vcmpleu2(x, y);
350 }
351 
352 template <typename Tp>
353 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
354 vcmpleu4(Tp x, Tp y) {
355  return __imf_vcmpleu4(x, y);
356 }
357 
358 template <typename Tp>
359 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
360 vcmplts2(Tp x, Tp y) {
361  return __imf_vcmplts2(x, y);
362 }
363 
364 template <typename Tp>
365 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
366 vcmplts4(Tp x, Tp y) {
367  return __imf_vcmplts4(x, y);
368 }
369 
370 template <typename Tp>
371 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
372 vcmpltu2(Tp x, Tp y) {
373  return __imf_vcmpltu2(x, y);
374 }
375 
376 template <typename Tp>
377 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
378 vcmpltu4(Tp x, Tp y) {
379  return __imf_vcmpltu4(x, y);
380 }
381 
382 template <typename Tp>
383 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpne2(Tp x,
384  Tp y) {
385  return __imf_vcmpne2(x, y);
386 }
387 
388 template <typename Tp>
389 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vcmpne4(Tp x,
390  Tp y) {
391  return __imf_vcmpne4(x, y);
392 }
393 
394 template <typename Tp>
395 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxs2(Tp x,
396  Tp y) {
397  return __imf_vmaxs2(x, y);
398 }
399 
400 template <typename Tp>
401 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxs4(Tp x,
402  Tp y) {
403  return __imf_vmaxs4(x, y);
404 }
405 
406 template <typename Tp>
407 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxu2(Tp x,
408  Tp y) {
409  return __imf_vmaxu2(x, y);
410 }
411 
412 template <typename Tp>
413 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmaxu4(Tp x,
414  Tp y) {
415  return __imf_vmaxu4(x, y);
416 }
417 
418 template <typename Tp>
419 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmins2(Tp x,
420  Tp y) {
421  return __imf_vmins2(x, y);
422 }
423 
424 template <typename Tp>
425 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vmins4(Tp x,
426  Tp y) {
427  return __imf_vmins4(x, y);
428 }
429 
430 template <typename Tp>
431 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vminu2(Tp x,
432  Tp y) {
433  return __imf_vminu2(x, y);
434 }
435 
436 template <typename Tp>
437 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vminu4(Tp x,
438  Tp y) {
439  return __imf_vminu4(x, y);
440 }
441 
442 template <typename Tp>
443 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vseteq2(Tp x,
444  Tp y) {
445  return __imf_vseteq2(x, y);
446 }
447 
448 template <typename Tp>
449 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vseteq4(Tp x,
450  Tp y) {
451  return __imf_vseteq4(x, y);
452 }
453 
454 template <typename Tp>
455 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsetne2(Tp x,
456  Tp y) {
457  return __imf_vsetne2(x, y);
458 }
459 
460 template <typename Tp>
461 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsetne4(Tp x,
462  Tp y) {
463  return __imf_vsetne4(x, y);
464 }
465 
466 template <typename Tp>
467 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
468 vsetges2(Tp x, Tp y) {
469  return __imf_vsetges2(x, y);
470 }
471 
472 template <typename Tp>
473 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
474 vsetges4(Tp x, Tp y) {
475  return __imf_vsetges4(x, y);
476 }
477 
478 template <typename Tp>
479 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
480 vsetgeu2(Tp x, Tp y) {
481  return __imf_vsetgeu2(x, y);
482 }
483 
484 template <typename Tp>
485 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
486 vsetgeu4(Tp x, Tp y) {
487  return __imf_vsetgeu4(x, y);
488 }
489 
490 template <typename Tp>
491 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
492 vsetgts2(Tp x, Tp y) {
493  return __imf_vsetgts2(x, y);
494 }
495 
496 template <typename Tp>
497 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
498 vsetgts4(Tp x, Tp y) {
499  return __imf_vsetgts4(x, y);
500 }
501 
502 template <typename Tp>
503 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
504 vsetgtu2(Tp x, Tp y) {
505  return __imf_vsetgtu2(x, y);
506 }
507 
508 template <typename Tp>
509 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
510 vsetgtu4(Tp x, Tp y) {
511  return __imf_vsetgtu4(x, y);
512 }
513 
514 template <typename Tp>
515 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
516 vsetles2(Tp x, Tp y) {
517  return __imf_vsetles2(x, y);
518 }
519 
520 template <typename Tp>
521 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
522 vsetles4(Tp x, Tp y) {
523  return __imf_vsetles4(x, y);
524 }
525 
526 template <typename Tp>
527 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
528 vsetleu2(Tp x, Tp y) {
529  return __imf_vsetleu2(x, y);
530 }
531 
532 template <typename Tp>
533 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
534 vsetleu4(Tp x, Tp y) {
535  return __imf_vsetleu4(x, y);
536 }
537 
538 template <typename Tp>
539 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
540 vsetlts2(Tp x, Tp y) {
541  return __imf_vsetlts2(x, y);
542 }
543 
544 template <typename Tp>
545 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
546 vsetlts4(Tp x, Tp y) {
547  return __imf_vsetlts4(x, y);
548 }
549 
550 template <typename Tp>
551 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
552 vsetltu2(Tp x, Tp y) {
553  return __imf_vsetltu2(x, y);
554 }
555 
556 template <typename Tp>
557 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int>
558 vsetltu4(Tp x, Tp y) {
559  return __imf_vsetltu4(x, y);
560 }
561 
562 template <typename Tp>
563 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsads2(Tp x,
564  Tp y) {
565  return __imf_vsads2(x, y);
566 }
567 
568 template <typename Tp>
569 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsads4(Tp x,
570  Tp y) {
571  return __imf_vsads4(x, y);
572 }
573 
574 template <typename Tp>
575 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsadu2(Tp x,
576  Tp y) {
577  return __imf_vsadu2(x, y);
578 }
579 
580 template <typename Tp>
581 std::enable_if_t<std::is_same_v<Tp, unsigned int>, unsigned int> vsadu4(Tp x,
582  Tp y) {
583  return __imf_vsadu4(x, y);
584 }
585 } // namespace ext::intel::math
586 } // namespace _V1
587 } // namespace sycl
unsigned int __imf_vsubss4(unsigned int, unsigned int)
unsigned int __imf_vsub4(unsigned int, unsigned int)
unsigned int __imf_vhaddu4(unsigned int, unsigned int)
unsigned int __imf_vmaxs4(unsigned int, unsigned int)
unsigned int __imf_vnegss2(unsigned int)
unsigned int __imf_vaddus2(unsigned int, unsigned int)
unsigned int __imf_vsub2(unsigned int, unsigned int)
unsigned int __imf_vavgs2(unsigned int, unsigned int)
unsigned int __imf_vsetgeu2(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_vhaddu2(unsigned int, unsigned int)
unsigned int __imf_vaddss2(unsigned int, unsigned int)
unsigned int __imf_vsetgtu4(unsigned int, unsigned int)
unsigned int __imf_vsetne4(unsigned int, unsigned int)
unsigned int __imf_vsubus2(unsigned int, unsigned int)
unsigned int __imf_vmaxs2(unsigned int, unsigned int)
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_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)
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)
unsigned int __imf_vcmples2(unsigned int, unsigned 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)
unsigned int __imf_vabs4(unsigned int)
unsigned int __imf_vcmpleu2(unsigned int, unsigned 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_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_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)
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_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_vsadu4(unsigned int, unsigned 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 > vmaxu4(Tp x, Tp y)
Definition: imf_simd.hpp:413
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgts4(Tp x, Tp y)
Definition: imf_simd.hpp:498
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsads4(Tp x, Tp y)
Definition: imf_simd.hpp:569
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vhaddu4(Tp x, Tp y)
Definition: imf_simd.hpp:245
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpeq2(Tp x, Tp y)
Definition: imf_simd.hpp:275
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmples2(Tp x, Tp y)
Definition: imf_simd.hpp:336
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetles4(Tp x, Tp y)
Definition: imf_simd.hpp:522
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsss2(Tp x)
Definition: imf_simd.hpp:157
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpltu2(Tp x, Tp y)
Definition: imf_simd.hpp:372
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgeu2(Tp x, Tp y)
Definition: imf_simd.hpp:300
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsadu4(Tp x, Tp y)
Definition: imf_simd.hpp:581
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgts2(Tp x, Tp y)
Definition: imf_simd.hpp:492
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetne2(Tp x, Tp y)
Definition: imf_simd.hpp:455
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsub2(Tp x, Tp y)
Definition: imf_simd.hpp:203
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxs2(Tp x, Tp y)
Definition: imf_simd.hpp:395
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffs2(Tp x, Tp y)
Definition: imf_simd.hpp:134
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetne4(Tp x, Tp y)
Definition: imf_simd.hpp:461
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vminu2(Tp x, Tp y)
Definition: imf_simd.hpp:431
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpleu2(Tp x, Tp y)
Definition: imf_simd.hpp:348
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgs2(Tp x, Tp y)
Definition: imf_simd.hpp:251
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpne4(Tp x, Tp y)
Definition: imf_simd.hpp:389
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetleu4(Tp x, Tp y)
Definition: imf_simd.hpp:534
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetleu2(Tp x, Tp y)
Definition: imf_simd.hpp:528
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vnegss2(Tp x)
Definition: imf_simd.hpp:123
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpges2(Tp x, Tp y)
Definition: imf_simd.hpp:288
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgtu4(Tp x, Tp y)
Definition: imf_simd.hpp:330
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxs4(Tp x, Tp y)
Definition: imf_simd.hpp:401
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetlts2(Tp x, Tp y)
Definition: imf_simd.hpp:540
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vseteq4(Tp x, Tp y)
Definition: imf_simd.hpp:449
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgu2(Tp x, Tp y)
Definition: imf_simd.hpp:263
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmins2(Tp x, Tp y)
Definition: imf_simd.hpp:419
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgtu2(Tp x, Tp y)
Definition: imf_simd.hpp:324
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddss4(Tp x, Tp y)
Definition: imf_simd.hpp:185
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffu4(Tp x, Tp y)
Definition: imf_simd.hpp:152
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpltu4(Tp x, Tp y)
Definition: imf_simd.hpp:378
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetles2(Tp x, Tp y)
Definition: imf_simd.hpp:516
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsub4(Tp x, Tp y)
Definition: imf_simd.hpp:209
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddus2(Tp x, Tp y)
Definition: imf_simd.hpp:191
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgeu4(Tp x, Tp y)
Definition: imf_simd.hpp:486
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetges2(Tp x, Tp y)
Definition: imf_simd.hpp:468
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vminu4(Tp x, Tp y)
Definition: imf_simd.hpp:437
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabs2(Tp x)
Definition: imf_simd.hpp:103
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmples4(Tp x, Tp y)
Definition: imf_simd.hpp:342
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmins4(Tp x, Tp y)
Definition: imf_simd.hpp:425
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubus2(Tp x, Tp y)
Definition: imf_simd.hpp:227
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vadd4(Tp x, Tp y)
Definition: imf_simd.hpp:173
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgeu2(Tp x, Tp y)
Definition: imf_simd.hpp:480
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vneg4(Tp x)
Definition: imf_simd.hpp:118
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsadu2(Tp x, Tp y)
Definition: imf_simd.hpp:575
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetltu4(Tp x, Tp y)
Definition: imf_simd.hpp:558
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgts4(Tp x, Tp y)
Definition: imf_simd.hpp:318
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vhaddu2(Tp x, Tp y)
Definition: imf_simd.hpp:239
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpne2(Tp x, Tp y)
Definition: imf_simd.hpp:383
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgeu4(Tp x, Tp y)
Definition: imf_simd.hpp:306
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgs4(Tp x, Tp y)
Definition: imf_simd.hpp:257
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddus4(Tp x, Tp y)
Definition: imf_simd.hpp:197
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vneg2(Tp x)
Definition: imf_simd.hpp:113
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubss2(Tp x, Tp y)
Definition: imf_simd.hpp:215
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vmaxu2(Tp x, Tp y)
Definition: imf_simd.hpp:407
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpgts2(Tp x, Tp y)
Definition: imf_simd.hpp:312
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffu2(Tp x, Tp y)
Definition: imf_simd.hpp:146
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsads2(Tp x, Tp y)
Definition: imf_simd.hpp:563
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetlts4(Tp x, Tp y)
Definition: imf_simd.hpp:546
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgtu2(Tp x, Tp y)
Definition: imf_simd.hpp:504
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpeq4(Tp x, Tp y)
Definition: imf_simd.hpp:281
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vaddss2(Tp x, Tp y)
Definition: imf_simd.hpp:179
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetgtu4(Tp x, Tp y)
Definition: imf_simd.hpp:510
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpleu4(Tp x, Tp y)
Definition: imf_simd.hpp:354
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubus4(Tp x, Tp y)
Definition: imf_simd.hpp:233
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsss4(Tp x)
Definition: imf_simd.hpp:162
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmplts2(Tp x, Tp y)
Definition: imf_simd.hpp:360
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabsdiffs4(Tp x, Tp y)
Definition: imf_simd.hpp:140
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vseteq2(Tp x, Tp y)
Definition: imf_simd.hpp:443
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmplts4(Tp x, Tp y)
Definition: imf_simd.hpp:366
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vcmpges4(Tp x, Tp y)
Definition: imf_simd.hpp:294
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsubss4(Tp x, Tp y)
Definition: imf_simd.hpp:221
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetltu2(Tp x, Tp y)
Definition: imf_simd.hpp:552
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vavgu4(Tp x, Tp y)
Definition: imf_simd.hpp:269
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vabs4(Tp x)
Definition: imf_simd.hpp:108
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vsetges4(Tp x, Tp y)
Definition: imf_simd.hpp:474
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vnegss4(Tp x)
Definition: imf_simd.hpp:128
std::enable_if_t< std::is_same_v< Tp, unsigned int >, unsigned int > vadd2(Tp x, Tp y)
Definition: imf_simd.hpp:167
autodecltype(x) x
Definition: access.hpp:18