Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /*===------------- avx512pfintrin.h - PF intrinsics ------------------------=== |
---|---|
2 | * |
3 | * |
4 | * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
5 | * See https://llvm.org/LICENSE.txt for license information. |
6 | * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
7 | * |
8 | *===-----------------------------------------------------------------------=== |
9 | */ |
10 | #ifndef __IMMINTRIN_H |
11 | #error "Never use <avx512pfintrin.h> directly; include <immintrin.h> instead." |
12 | #endif |
13 | |
14 | #ifndef __AVX512PFINTRIN_H |
15 | #define __AVX512PFINTRIN_H |
16 | |
17 | #define _mm512_mask_prefetch_i32gather_pd(index, mask, addr, scale, hint) \ |
18 | __builtin_ia32_gatherpfdpd((__mmask8)(mask), (__v8si)(__m256i)(index), \ |
19 | (void const *)(addr), (int)(scale), \ |
20 | (int)(hint)) |
21 | |
22 | #define _mm512_prefetch_i32gather_pd(index, addr, scale, hint) \ |
23 | __builtin_ia32_gatherpfdpd((__mmask8) -1, (__v8si)(__m256i)(index), \ |
24 | (void const *)(addr), (int)(scale), \ |
25 | (int)(hint)) |
26 | |
27 | #define _mm512_mask_prefetch_i32gather_ps(index, mask, addr, scale, hint) \ |
28 | __builtin_ia32_gatherpfdps((__mmask16)(mask), \ |
29 | (__v16si)(__m512i)(index), (void const *)(addr), \ |
30 | (int)(scale), (int)(hint)) |
31 | |
32 | #define _mm512_prefetch_i32gather_ps(index, addr, scale, hint) \ |
33 | __builtin_ia32_gatherpfdps((__mmask16) -1, \ |
34 | (__v16si)(__m512i)(index), (void const *)(addr), \ |
35 | (int)(scale), (int)(hint)) |
36 | |
37 | #define _mm512_mask_prefetch_i64gather_pd(index, mask, addr, scale, hint) \ |
38 | __builtin_ia32_gatherpfqpd((__mmask8)(mask), (__v8di)(__m512i)(index), \ |
39 | (void const *)(addr), (int)(scale), \ |
40 | (int)(hint)) |
41 | |
42 | #define _mm512_prefetch_i64gather_pd(index, addr, scale, hint) \ |
43 | __builtin_ia32_gatherpfqpd((__mmask8) -1, (__v8di)(__m512i)(index), \ |
44 | (void const *)(addr), (int)(scale), \ |
45 | (int)(hint)) |
46 | |
47 | #define _mm512_mask_prefetch_i64gather_ps(index, mask, addr, scale, hint) \ |
48 | __builtin_ia32_gatherpfqps((__mmask8)(mask), (__v8di)(__m512i)(index), \ |
49 | (void const *)(addr), (int)(scale), (int)(hint)) |
50 | |
51 | #define _mm512_prefetch_i64gather_ps(index, addr, scale, hint) \ |
52 | __builtin_ia32_gatherpfqps((__mmask8) -1, (__v8di)(__m512i)(index), \ |
53 | (void const *)(addr), (int)(scale), (int)(hint)) |
54 | |
55 | #define _mm512_prefetch_i32scatter_pd(addr, index, scale, hint) \ |
56 | __builtin_ia32_scatterpfdpd((__mmask8)-1, (__v8si)(__m256i)(index), \ |
57 | (void *)(addr), (int)(scale), \ |
58 | (int)(hint)) |
59 | |
60 | #define _mm512_mask_prefetch_i32scatter_pd(addr, mask, index, scale, hint) \ |
61 | __builtin_ia32_scatterpfdpd((__mmask8)(mask), (__v8si)(__m256i)(index), \ |
62 | (void *)(addr), (int)(scale), \ |
63 | (int)(hint)) |
64 | |
65 | #define _mm512_prefetch_i32scatter_ps(addr, index, scale, hint) \ |
66 | __builtin_ia32_scatterpfdps((__mmask16)-1, (__v16si)(__m512i)(index), \ |
67 | (void *)(addr), (int)(scale), (int)(hint)) |
68 | |
69 | #define _mm512_mask_prefetch_i32scatter_ps(addr, mask, index, scale, hint) \ |
70 | __builtin_ia32_scatterpfdps((__mmask16)(mask), \ |
71 | (__v16si)(__m512i)(index), (void *)(addr), \ |
72 | (int)(scale), (int)(hint)) |
73 | |
74 | #define _mm512_prefetch_i64scatter_pd(addr, index, scale, hint) \ |
75 | __builtin_ia32_scatterpfqpd((__mmask8)-1, (__v8di)(__m512i)(index), \ |
76 | (void *)(addr), (int)(scale), \ |
77 | (int)(hint)) |
78 | |
79 | #define _mm512_mask_prefetch_i64scatter_pd(addr, mask, index, scale, hint) \ |
80 | __builtin_ia32_scatterpfqpd((__mmask8)(mask), (__v8di)(__m512i)(index), \ |
81 | (void *)(addr), (int)(scale), \ |
82 | (int)(hint)) |
83 | |
84 | #define _mm512_prefetch_i64scatter_ps(addr, index, scale, hint) \ |
85 | __builtin_ia32_scatterpfqps((__mmask8)-1, (__v8di)(__m512i)(index), \ |
86 | (void *)(addr), (int)(scale), (int)(hint)) |
87 | |
88 | #define _mm512_mask_prefetch_i64scatter_ps(addr, mask, index, scale, hint) \ |
89 | __builtin_ia32_scatterpfqps((__mmask8)(mask), (__v8di)(__m512i)(index), \ |
90 | (void *)(addr), (int)(scale), (int)(hint)) |
91 | |
92 | #endif |
93 |
Warning: This file is not a C or C++ file. It does not have highlighting.