@cpp-linter/clang-tidy-win32-x64 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.TXT +279 -0
- package/README.md +7 -0
- package/bin/clang-tidy.exe +4 -0
- package/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h +121 -0
- package/lib/clang/12.0.1/include/__clang_cuda_cmath.h +512 -0
- package/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h +285 -0
- package/lib/clang/12.0.1/include/__clang_cuda_device_functions.h +1486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h +486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h +462 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math.h +348 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h +284 -0
- package/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h +443 -0
- package/lib/clang/12.0.1/include/__clang_hip_cmath.h +664 -0
- package/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h +334 -0
- package/lib/clang/12.0.1/include/__clang_hip_math.h +1275 -0
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +69 -0
- package/lib/clang/12.0.1/include/__stddef_max_align_t.h +27 -0
- package/lib/clang/12.0.1/include/__wmmintrin_aes.h +140 -0
- package/lib/clang/12.0.1/include/__wmmintrin_pclmul.h +48 -0
- package/lib/clang/12.0.1/include/adxintrin.h +72 -0
- package/lib/clang/12.0.1/include/altivec.h +18239 -0
- package/lib/clang/12.0.1/include/ammintrin.h +179 -0
- package/lib/clang/12.0.1/include/amxintrin.h +278 -0
- package/lib/clang/12.0.1/include/arm64intr.h +35 -0
- package/lib/clang/12.0.1/include/arm_acle.h +716 -0
- package/lib/clang/12.0.1/include/arm_bf16.h +20 -0
- package/lib/clang/12.0.1/include/arm_cde.h +410 -0
- package/lib/clang/12.0.1/include/arm_cmse.h +217 -0
- package/lib/clang/12.0.1/include/arm_fp16.h +596 -0
- package/lib/clang/12.0.1/include/arm_mve.h +19187 -0
- package/lib/clang/12.0.1/include/arm_neon.h +68982 -0
- package/lib/clang/12.0.1/include/arm_sve.h +18148 -0
- package/lib/clang/12.0.1/include/armintr.h +31 -0
- package/lib/clang/12.0.1/include/avx2intrin.h +1148 -0
- package/lib/clang/12.0.1/include/avx512bf16intrin.h +279 -0
- package/lib/clang/12.0.1/include/avx512bitalgintrin.h +83 -0
- package/lib/clang/12.0.1/include/avx512bwintrin.h +2024 -0
- package/lib/clang/12.0.1/include/avx512cdintrin.h +123 -0
- package/lib/clang/12.0.1/include/avx512dqintrin.h +1377 -0
- package/lib/clang/12.0.1/include/avx512erintrin.h +271 -0
- package/lib/clang/12.0.1/include/avx512fintrin.h +9618 -0
- package/lib/clang/12.0.1/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/12.0.1/include/avx512ifmavlintrin.h +119 -0
- package/lib/clang/12.0.1/include/avx512pfintrin.h +97 -0
- package/lib/clang/12.0.1/include/avx512vbmi2intrin.h +357 -0
- package/lib/clang/12.0.1/include/avx512vbmiintrin.h +105 -0
- package/lib/clang/12.0.1/include/avx512vbmivlintrin.h +188 -0
- package/lib/clang/12.0.1/include/avx512vlbf16intrin.h +474 -0
- package/lib/clang/12.0.1/include/avx512vlbitalgintrin.h +145 -0
- package/lib/clang/12.0.1/include/avx512vlbwintrin.h +2809 -0
- package/lib/clang/12.0.1/include/avx512vlcdintrin.h +225 -0
- package/lib/clang/12.0.1/include/avx512vldqintrin.h +1167 -0
- package/lib/clang/12.0.1/include/avx512vlintrin.h +8445 -0
- package/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h +689 -0
- package/lib/clang/12.0.1/include/avx512vlvnniintrin.h +304 -0
- package/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h +121 -0
- package/lib/clang/12.0.1/include/avx512vnniintrin.h +115 -0
- package/lib/clang/12.0.1/include/avx512vp2intersectintrin.h +77 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h +54 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h +91 -0
- package/lib/clang/12.0.1/include/avxintrin.h +5053 -0
- package/lib/clang/12.0.1/include/avxvnniintrin.h +225 -0
- package/lib/clang/12.0.1/include/bmi2intrin.h +81 -0
- package/lib/clang/12.0.1/include/bmiintrin.h +427 -0
- package/lib/clang/12.0.1/include/cet.h +66 -0
- package/lib/clang/12.0.1/include/cetintrin.h +99 -0
- package/lib/clang/12.0.1/include/cldemoteintrin.h +36 -0
- package/lib/clang/12.0.1/include/clflushoptintrin.h +27 -0
- package/lib/clang/12.0.1/include/clwbintrin.h +38 -0
- package/lib/clang/12.0.1/include/clzerointrin.h +36 -0
- package/lib/clang/12.0.1/include/cpuid.h +319 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/algorithm +116 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/complex +82 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/new +106 -0
- package/lib/clang/12.0.1/include/emmintrin.h +4981 -0
- package/lib/clang/12.0.1/include/enqcmdintrin.h +63 -0
- package/lib/clang/12.0.1/include/f16cintrin.h +162 -0
- package/lib/clang/12.0.1/include/float.h +152 -0
- package/lib/clang/12.0.1/include/fma4intrin.h +218 -0
- package/lib/clang/12.0.1/include/fmaintrin.h +216 -0
- package/lib/clang/12.0.1/include/fxsrintrin.h +91 -0
- package/lib/clang/12.0.1/include/gfniintrin.h +193 -0
- package/lib/clang/12.0.1/include/hresetintrin.h +49 -0
- package/lib/clang/12.0.1/include/htmintrin.h +212 -0
- package/lib/clang/12.0.1/include/htmxlintrin.h +345 -0
- package/lib/clang/12.0.1/include/ia32intrin.h +441 -0
- package/lib/clang/12.0.1/include/immintrin.h +600 -0
- package/lib/clang/12.0.1/include/intrin.h +585 -0
- package/lib/clang/12.0.1/include/inttypes.h +97 -0
- package/lib/clang/12.0.1/include/invpcidintrin.h +23 -0
- package/lib/clang/12.0.1/include/iso646.h +27 -0
- package/lib/clang/12.0.1/include/keylockerintrin.h +506 -0
- package/lib/clang/12.0.1/include/limits.h +102 -0
- package/lib/clang/12.0.1/include/lwpintrin.h +136 -0
- package/lib/clang/12.0.1/include/lzcntintrin.h +104 -0
- package/lib/clang/12.0.1/include/mm3dnow.h +157 -0
- package/lib/clang/12.0.1/include/mm_malloc.h +67 -0
- package/lib/clang/12.0.1/include/mmintrin.h +1558 -0
- package/lib/clang/12.0.1/include/module.modulemap +164 -0
- package/lib/clang/12.0.1/include/movdirintrin.h +49 -0
- package/lib/clang/12.0.1/include/msa.h +573 -0
- package/lib/clang/12.0.1/include/mwaitxintrin.h +33 -0
- package/lib/clang/12.0.1/include/nmmintrin.h +16 -0
- package/lib/clang/12.0.1/include/opencl-c-base.h +589 -0
- package/lib/clang/12.0.1/include/opencl-c.h +17162 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +42 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/cmath +78 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex +52 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex.h +27 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h +388 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/math.h +51 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/new +70 -0
- package/lib/clang/12.0.1/include/pconfigintrin.h +40 -0
- package/lib/clang/12.0.1/include/pkuintrin.h +34 -0
- package/lib/clang/12.0.1/include/pmmintrin.h +290 -0
- package/lib/clang/12.0.1/include/popcntintrin.h +59 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h +2324 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h +50 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h +1450 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h +150 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h +109 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h +495 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h +1843 -0
- package/lib/clang/12.0.1/include/prfchwintrin.h +55 -0
- package/lib/clang/12.0.1/include/ptwriteintrin.h +37 -0
- package/lib/clang/12.0.1/include/rdseedintrin.h +42 -0
- package/lib/clang/12.0.1/include/rtmintrin.h +45 -0
- package/lib/clang/12.0.1/include/s390intrin.h +25 -0
- package/lib/clang/12.0.1/include/serializeintrin.h +30 -0
- package/lib/clang/12.0.1/include/sgxintrin.h +60 -0
- package/lib/clang/12.0.1/include/shaintrin.h +61 -0
- package/lib/clang/12.0.1/include/smmintrin.h +2430 -0
- package/lib/clang/12.0.1/include/stdalign.h +21 -0
- package/lib/clang/12.0.1/include/stdarg.h +35 -0
- package/lib/clang/12.0.1/include/stdatomic.h +176 -0
- package/lib/clang/12.0.1/include/stdbool.h +31 -0
- package/lib/clang/12.0.1/include/stddef.h +121 -0
- package/lib/clang/12.0.1/include/stdint.h +693 -0
- package/lib/clang/12.0.1/include/stdnoreturn.h +16 -0
- package/lib/clang/12.0.1/include/tbmintrin.h +140 -0
- package/lib/clang/12.0.1/include/tgmath.h +1368 -0
- package/lib/clang/12.0.1/include/tmmintrin.h +771 -0
- package/lib/clang/12.0.1/include/tsxldtrkintrin.h +56 -0
- package/lib/clang/12.0.1/include/uintrintrin.h +150 -0
- package/lib/clang/12.0.1/include/unwind.h +327 -0
- package/lib/clang/12.0.1/include/vadefs.h +51 -0
- package/lib/clang/12.0.1/include/vaesintrin.h +84 -0
- package/lib/clang/12.0.1/include/varargs.h +12 -0
- package/lib/clang/12.0.1/include/vecintrin.h +10998 -0
- package/lib/clang/12.0.1/include/vpclmulqdqintrin.h +28 -0
- package/lib/clang/12.0.1/include/waitpkgintrin.h +42 -0
- package/lib/clang/12.0.1/include/wasm_simd128.h +1167 -0
- package/lib/clang/12.0.1/include/wbnoinvdintrin.h +24 -0
- package/lib/clang/12.0.1/include/wmmintrin.h +19 -0
- package/lib/clang/12.0.1/include/x86gprintrin.h +23 -0
- package/lib/clang/12.0.1/include/x86intrin.h +63 -0
- package/lib/clang/12.0.1/include/xmmintrin.h +3008 -0
- package/lib/clang/12.0.1/include/xopintrin.h +770 -0
- package/lib/clang/12.0.1/include/xsavecintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsaveintrin.h +63 -0
- package/lib/clang/12.0.1/include/xsaveoptintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsavesintrin.h +44 -0
- package/lib/clang/12.0.1/include/xtestintrin.h +27 -0
- package/package.json +32 -0
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
/*===---- immintrin.h - Intel intrinsics -----------------------------------===
|
|
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
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef __IMMINTRIN_H
|
|
11
|
+
#define __IMMINTRIN_H
|
|
12
|
+
|
|
13
|
+
#include <x86gprintrin.h>
|
|
14
|
+
|
|
15
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
16
|
+
defined(__MMX__)
|
|
17
|
+
#include <mmintrin.h>
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
21
|
+
defined(__SSE__)
|
|
22
|
+
#include <xmmintrin.h>
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
26
|
+
defined(__SSE2__)
|
|
27
|
+
#include <emmintrin.h>
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
31
|
+
defined(__SSE3__)
|
|
32
|
+
#include <pmmintrin.h>
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
36
|
+
defined(__SSSE3__)
|
|
37
|
+
#include <tmmintrin.h>
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
41
|
+
(defined(__SSE4_2__) || defined(__SSE4_1__))
|
|
42
|
+
#include <smmintrin.h>
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
46
|
+
(defined(__AES__) || defined(__PCLMUL__))
|
|
47
|
+
#include <wmmintrin.h>
|
|
48
|
+
#endif
|
|
49
|
+
|
|
50
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
51
|
+
defined(__CLFLUSHOPT__)
|
|
52
|
+
#include <clflushoptintrin.h>
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
56
|
+
defined(__CLWB__)
|
|
57
|
+
#include <clwbintrin.h>
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
61
|
+
defined(__AVX__)
|
|
62
|
+
#include <avxintrin.h>
|
|
63
|
+
#endif
|
|
64
|
+
|
|
65
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
66
|
+
defined(__AVX2__)
|
|
67
|
+
#include <avx2intrin.h>
|
|
68
|
+
#endif
|
|
69
|
+
|
|
70
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
71
|
+
defined(__F16C__)
|
|
72
|
+
#include <f16cintrin.h>
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
76
|
+
defined(__VPCLMULQDQ__)
|
|
77
|
+
#include <vpclmulqdqintrin.h>
|
|
78
|
+
#endif
|
|
79
|
+
|
|
80
|
+
/* No feature check desired due to internal checks */
|
|
81
|
+
#include <bmiintrin.h>
|
|
82
|
+
|
|
83
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
84
|
+
defined(__BMI2__)
|
|
85
|
+
#include <bmi2intrin.h>
|
|
86
|
+
#endif
|
|
87
|
+
|
|
88
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
89
|
+
defined(__LZCNT__)
|
|
90
|
+
#include <lzcntintrin.h>
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
94
|
+
defined(__POPCNT__)
|
|
95
|
+
#include <popcntintrin.h>
|
|
96
|
+
#endif
|
|
97
|
+
|
|
98
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
99
|
+
defined(__FMA__)
|
|
100
|
+
#include <fmaintrin.h>
|
|
101
|
+
#endif
|
|
102
|
+
|
|
103
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
104
|
+
defined(__AVX512F__)
|
|
105
|
+
#include <avx512fintrin.h>
|
|
106
|
+
#endif
|
|
107
|
+
|
|
108
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
109
|
+
defined(__AVX512VL__)
|
|
110
|
+
#include <avx512vlintrin.h>
|
|
111
|
+
#endif
|
|
112
|
+
|
|
113
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
114
|
+
defined(__AVX512BW__)
|
|
115
|
+
#include <avx512bwintrin.h>
|
|
116
|
+
#endif
|
|
117
|
+
|
|
118
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
119
|
+
defined(__AVX512BITALG__)
|
|
120
|
+
#include <avx512bitalgintrin.h>
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
124
|
+
defined(__AVX512CD__)
|
|
125
|
+
#include <avx512cdintrin.h>
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
129
|
+
defined(__AVX512VPOPCNTDQ__)
|
|
130
|
+
#include <avx512vpopcntdqintrin.h>
|
|
131
|
+
#endif
|
|
132
|
+
|
|
133
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
134
|
+
(defined(__AVX512VL__) && defined(__AVX512VPOPCNTDQ__))
|
|
135
|
+
#include <avx512vpopcntdqvlintrin.h>
|
|
136
|
+
#endif
|
|
137
|
+
|
|
138
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
139
|
+
defined(__AVX512VNNI__)
|
|
140
|
+
#include <avx512vnniintrin.h>
|
|
141
|
+
#endif
|
|
142
|
+
|
|
143
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
144
|
+
(defined(__AVX512VL__) && defined(__AVX512VNNI__))
|
|
145
|
+
#include <avx512vlvnniintrin.h>
|
|
146
|
+
#endif
|
|
147
|
+
|
|
148
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
149
|
+
defined(__AVXVNNI__)
|
|
150
|
+
#include <avxvnniintrin.h>
|
|
151
|
+
#endif
|
|
152
|
+
|
|
153
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
154
|
+
defined(__AVX512DQ__)
|
|
155
|
+
#include <avx512dqintrin.h>
|
|
156
|
+
#endif
|
|
157
|
+
|
|
158
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
159
|
+
(defined(__AVX512VL__) && defined(__AVX512BITALG__))
|
|
160
|
+
#include <avx512vlbitalgintrin.h>
|
|
161
|
+
#endif
|
|
162
|
+
|
|
163
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
164
|
+
(defined(__AVX512VL__) && defined(__AVX512BW__))
|
|
165
|
+
#include <avx512vlbwintrin.h>
|
|
166
|
+
#endif
|
|
167
|
+
|
|
168
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
169
|
+
(defined(__AVX512VL__) && defined(__AVX512CD__))
|
|
170
|
+
#include <avx512vlcdintrin.h>
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
174
|
+
(defined(__AVX512VL__) && defined(__AVX512DQ__))
|
|
175
|
+
#include <avx512vldqintrin.h>
|
|
176
|
+
#endif
|
|
177
|
+
|
|
178
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
179
|
+
defined(__AVX512ER__)
|
|
180
|
+
#include <avx512erintrin.h>
|
|
181
|
+
#endif
|
|
182
|
+
|
|
183
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
184
|
+
defined(__AVX512IFMA__)
|
|
185
|
+
#include <avx512ifmaintrin.h>
|
|
186
|
+
#endif
|
|
187
|
+
|
|
188
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
189
|
+
(defined(__AVX512IFMA__) && defined(__AVX512VL__))
|
|
190
|
+
#include <avx512ifmavlintrin.h>
|
|
191
|
+
#endif
|
|
192
|
+
|
|
193
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
194
|
+
defined(__AVX512VBMI__)
|
|
195
|
+
#include <avx512vbmiintrin.h>
|
|
196
|
+
#endif
|
|
197
|
+
|
|
198
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
199
|
+
(defined(__AVX512VBMI__) && defined(__AVX512VL__))
|
|
200
|
+
#include <avx512vbmivlintrin.h>
|
|
201
|
+
#endif
|
|
202
|
+
|
|
203
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
204
|
+
defined(__AVX512VBMI2__)
|
|
205
|
+
#include <avx512vbmi2intrin.h>
|
|
206
|
+
#endif
|
|
207
|
+
|
|
208
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
209
|
+
(defined(__AVX512VBMI2__) && defined(__AVX512VL__))
|
|
210
|
+
#include <avx512vlvbmi2intrin.h>
|
|
211
|
+
#endif
|
|
212
|
+
|
|
213
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
214
|
+
defined(__AVX512PF__)
|
|
215
|
+
#include <avx512pfintrin.h>
|
|
216
|
+
#endif
|
|
217
|
+
|
|
218
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
219
|
+
defined(__AVX512BF16__)
|
|
220
|
+
#include <avx512bf16intrin.h>
|
|
221
|
+
#endif
|
|
222
|
+
|
|
223
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
224
|
+
(defined(__AVX512VL__) && defined(__AVX512BF16__))
|
|
225
|
+
#include <avx512vlbf16intrin.h>
|
|
226
|
+
#endif
|
|
227
|
+
|
|
228
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
229
|
+
defined(__PKU__)
|
|
230
|
+
#include <pkuintrin.h>
|
|
231
|
+
#endif
|
|
232
|
+
|
|
233
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
234
|
+
defined(__VAES__)
|
|
235
|
+
#include <vaesintrin.h>
|
|
236
|
+
#endif
|
|
237
|
+
|
|
238
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
239
|
+
defined(__GFNI__)
|
|
240
|
+
#include <gfniintrin.h>
|
|
241
|
+
#endif
|
|
242
|
+
|
|
243
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
244
|
+
defined(__RDPID__)
|
|
245
|
+
/// Returns the value of the IA32_TSC_AUX MSR (0xc0000103).
|
|
246
|
+
///
|
|
247
|
+
/// \headerfile <immintrin.h>
|
|
248
|
+
///
|
|
249
|
+
/// This intrinsic corresponds to the <c> RDPID </c> instruction.
|
|
250
|
+
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("rdpid")))
|
|
251
|
+
_rdpid_u32(void) {
|
|
252
|
+
return __builtin_ia32_rdpid();
|
|
253
|
+
}
|
|
254
|
+
#endif // __RDPID__
|
|
255
|
+
|
|
256
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
257
|
+
defined(__RDRND__)
|
|
258
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
259
|
+
_rdrand16_step(unsigned short *__p)
|
|
260
|
+
{
|
|
261
|
+
return __builtin_ia32_rdrand16_step(__p);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
265
|
+
_rdrand32_step(unsigned int *__p)
|
|
266
|
+
{
|
|
267
|
+
return __builtin_ia32_rdrand32_step(__p);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
#ifdef __x86_64__
|
|
271
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
|
|
272
|
+
_rdrand64_step(unsigned long long *__p)
|
|
273
|
+
{
|
|
274
|
+
return __builtin_ia32_rdrand64_step(__p);
|
|
275
|
+
}
|
|
276
|
+
#endif
|
|
277
|
+
#endif /* __RDRND__ */
|
|
278
|
+
|
|
279
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
280
|
+
defined(__FSGSBASE__)
|
|
281
|
+
#ifdef __x86_64__
|
|
282
|
+
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
283
|
+
_readfsbase_u32(void)
|
|
284
|
+
{
|
|
285
|
+
return __builtin_ia32_rdfsbase32();
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
289
|
+
_readfsbase_u64(void)
|
|
290
|
+
{
|
|
291
|
+
return __builtin_ia32_rdfsbase64();
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
295
|
+
_readgsbase_u32(void)
|
|
296
|
+
{
|
|
297
|
+
return __builtin_ia32_rdgsbase32();
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
301
|
+
_readgsbase_u64(void)
|
|
302
|
+
{
|
|
303
|
+
return __builtin_ia32_rdgsbase64();
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
307
|
+
_writefsbase_u32(unsigned int __V)
|
|
308
|
+
{
|
|
309
|
+
__builtin_ia32_wrfsbase32(__V);
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
313
|
+
_writefsbase_u64(unsigned long long __V)
|
|
314
|
+
{
|
|
315
|
+
__builtin_ia32_wrfsbase64(__V);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
319
|
+
_writegsbase_u32(unsigned int __V)
|
|
320
|
+
{
|
|
321
|
+
__builtin_ia32_wrgsbase32(__V);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
|
|
325
|
+
_writegsbase_u64(unsigned long long __V)
|
|
326
|
+
{
|
|
327
|
+
__builtin_ia32_wrgsbase64(__V);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
#endif
|
|
331
|
+
#endif /* __FSGSBASE__ */
|
|
332
|
+
|
|
333
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
334
|
+
defined(__MOVBE__)
|
|
335
|
+
|
|
336
|
+
/* The structs used below are to force the load/store to be unaligned. This
|
|
337
|
+
* is accomplished with the __packed__ attribute. The __may_alias__ prevents
|
|
338
|
+
* tbaa metadata from being generated based on the struct and the type of the
|
|
339
|
+
* field inside of it.
|
|
340
|
+
*/
|
|
341
|
+
|
|
342
|
+
static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
343
|
+
_loadbe_i16(void const * __P) {
|
|
344
|
+
struct __loadu_i16 {
|
|
345
|
+
short __v;
|
|
346
|
+
} __attribute__((__packed__, __may_alias__));
|
|
347
|
+
return __builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
351
|
+
_storebe_i16(void * __P, short __D) {
|
|
352
|
+
struct __storeu_i16 {
|
|
353
|
+
short __v;
|
|
354
|
+
} __attribute__((__packed__, __may_alias__));
|
|
355
|
+
((struct __storeu_i16*)__P)->__v = __builtin_bswap16(__D);
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
359
|
+
_loadbe_i32(void const * __P) {
|
|
360
|
+
struct __loadu_i32 {
|
|
361
|
+
int __v;
|
|
362
|
+
} __attribute__((__packed__, __may_alias__));
|
|
363
|
+
return __builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
367
|
+
_storebe_i32(void * __P, int __D) {
|
|
368
|
+
struct __storeu_i32 {
|
|
369
|
+
int __v;
|
|
370
|
+
} __attribute__((__packed__, __may_alias__));
|
|
371
|
+
((struct __storeu_i32*)__P)->__v = __builtin_bswap32(__D);
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
#ifdef __x86_64__
|
|
375
|
+
static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
376
|
+
_loadbe_i64(void const * __P) {
|
|
377
|
+
struct __loadu_i64 {
|
|
378
|
+
long long __v;
|
|
379
|
+
} __attribute__((__packed__, __may_alias__));
|
|
380
|
+
return __builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
|
|
384
|
+
_storebe_i64(void * __P, long long __D) {
|
|
385
|
+
struct __storeu_i64 {
|
|
386
|
+
long long __v;
|
|
387
|
+
} __attribute__((__packed__, __may_alias__));
|
|
388
|
+
((struct __storeu_i64*)__P)->__v = __builtin_bswap64(__D);
|
|
389
|
+
}
|
|
390
|
+
#endif
|
|
391
|
+
#endif /* __MOVBE */
|
|
392
|
+
|
|
393
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
394
|
+
defined(__RTM__)
|
|
395
|
+
#include <rtmintrin.h>
|
|
396
|
+
#include <xtestintrin.h>
|
|
397
|
+
#endif
|
|
398
|
+
|
|
399
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
400
|
+
defined(__SHA__)
|
|
401
|
+
#include <shaintrin.h>
|
|
402
|
+
#endif
|
|
403
|
+
|
|
404
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
405
|
+
defined(__FXSR__)
|
|
406
|
+
#include <fxsrintrin.h>
|
|
407
|
+
#endif
|
|
408
|
+
|
|
409
|
+
/* No feature check desired due to internal MSC_VER checks */
|
|
410
|
+
#include <xsaveintrin.h>
|
|
411
|
+
|
|
412
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
413
|
+
defined(__XSAVEOPT__)
|
|
414
|
+
#include <xsaveoptintrin.h>
|
|
415
|
+
#endif
|
|
416
|
+
|
|
417
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
418
|
+
defined(__XSAVEC__)
|
|
419
|
+
#include <xsavecintrin.h>
|
|
420
|
+
#endif
|
|
421
|
+
|
|
422
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
423
|
+
defined(__XSAVES__)
|
|
424
|
+
#include <xsavesintrin.h>
|
|
425
|
+
#endif
|
|
426
|
+
|
|
427
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
428
|
+
defined(__SHSTK__)
|
|
429
|
+
#include <cetintrin.h>
|
|
430
|
+
#endif
|
|
431
|
+
|
|
432
|
+
/* Some intrinsics inside adxintrin.h are available only on processors with ADX,
|
|
433
|
+
* whereas others are also available at all times. */
|
|
434
|
+
#include <adxintrin.h>
|
|
435
|
+
|
|
436
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
437
|
+
defined(__RDSEED__)
|
|
438
|
+
#include <rdseedintrin.h>
|
|
439
|
+
#endif
|
|
440
|
+
|
|
441
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
442
|
+
defined(__WBNOINVD__)
|
|
443
|
+
#include <wbnoinvdintrin.h>
|
|
444
|
+
#endif
|
|
445
|
+
|
|
446
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
447
|
+
defined(__CLDEMOTE__)
|
|
448
|
+
#include <cldemoteintrin.h>
|
|
449
|
+
#endif
|
|
450
|
+
|
|
451
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
452
|
+
defined(__WAITPKG__)
|
|
453
|
+
#include <waitpkgintrin.h>
|
|
454
|
+
#endif
|
|
455
|
+
|
|
456
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
457
|
+
defined(__MOVDIRI__) || defined(__MOVDIR64B__)
|
|
458
|
+
#include <movdirintrin.h>
|
|
459
|
+
#endif
|
|
460
|
+
|
|
461
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
462
|
+
defined(__PCONFIG__)
|
|
463
|
+
#include <pconfigintrin.h>
|
|
464
|
+
#endif
|
|
465
|
+
|
|
466
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
467
|
+
defined(__SGX__)
|
|
468
|
+
#include <sgxintrin.h>
|
|
469
|
+
#endif
|
|
470
|
+
|
|
471
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
472
|
+
defined(__PTWRITE__)
|
|
473
|
+
#include <ptwriteintrin.h>
|
|
474
|
+
#endif
|
|
475
|
+
|
|
476
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
477
|
+
defined(__INVPCID__)
|
|
478
|
+
#include <invpcidintrin.h>
|
|
479
|
+
#endif
|
|
480
|
+
|
|
481
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
482
|
+
defined(__KL__) || defined(__WIDEKL__)
|
|
483
|
+
#include <keylockerintrin.h>
|
|
484
|
+
#endif
|
|
485
|
+
|
|
486
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
487
|
+
defined(__AMXTILE__) || defined(__AMXINT8__) || defined(__AMXBF16__)
|
|
488
|
+
#include <amxintrin.h>
|
|
489
|
+
#endif
|
|
490
|
+
|
|
491
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
492
|
+
defined(__AVX512VP2INTERSECT__)
|
|
493
|
+
#include <avx512vp2intersectintrin.h>
|
|
494
|
+
#endif
|
|
495
|
+
|
|
496
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
497
|
+
(defined(__AVX512VL__) && defined(__AVX512VP2INTERSECT__))
|
|
498
|
+
#include <avx512vlvp2intersectintrin.h>
|
|
499
|
+
#endif
|
|
500
|
+
|
|
501
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
502
|
+
defined(__ENQCMD__)
|
|
503
|
+
#include <enqcmdintrin.h>
|
|
504
|
+
#endif
|
|
505
|
+
|
|
506
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
507
|
+
defined(__SERIALIZE__)
|
|
508
|
+
#include <serializeintrin.h>
|
|
509
|
+
#endif
|
|
510
|
+
|
|
511
|
+
#if !(defined(_MSC_VER) || defined(__SCE__)) || __has_feature(modules) || \
|
|
512
|
+
defined(__TSXLDTRK__)
|
|
513
|
+
#include <tsxldtrkintrin.h>
|
|
514
|
+
#endif
|
|
515
|
+
|
|
516
|
+
#if defined(_MSC_VER) && __has_extension(gnu_asm)
|
|
517
|
+
/* Define the default attributes for these intrinsics */
|
|
518
|
+
#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
|
|
519
|
+
#ifdef __cplusplus
|
|
520
|
+
extern "C" {
|
|
521
|
+
#endif
|
|
522
|
+
/*----------------------------------------------------------------------------*\
|
|
523
|
+
|* Interlocked Exchange HLE
|
|
524
|
+
\*----------------------------------------------------------------------------*/
|
|
525
|
+
#if defined(__i386__) || defined(__x86_64__)
|
|
526
|
+
static __inline__ long __DEFAULT_FN_ATTRS
|
|
527
|
+
_InterlockedExchange_HLEAcquire(long volatile *_Target, long _Value) {
|
|
528
|
+
__asm__ __volatile__(".byte 0xf2 ; lock ; xchg %0, %1"
|
|
529
|
+
: "+r" (_Value), "+m" (*_Target) :: "memory");
|
|
530
|
+
return _Value;
|
|
531
|
+
}
|
|
532
|
+
static __inline__ long __DEFAULT_FN_ATTRS
|
|
533
|
+
_InterlockedExchange_HLERelease(long volatile *_Target, long _Value) {
|
|
534
|
+
__asm__ __volatile__(".byte 0xf3 ; lock ; xchg %0, %1"
|
|
535
|
+
: "+r" (_Value), "+m" (*_Target) :: "memory");
|
|
536
|
+
return _Value;
|
|
537
|
+
}
|
|
538
|
+
#endif
|
|
539
|
+
#if defined(__x86_64__)
|
|
540
|
+
static __inline__ __int64 __DEFAULT_FN_ATTRS
|
|
541
|
+
_InterlockedExchange64_HLEAcquire(__int64 volatile *_Target, __int64 _Value) {
|
|
542
|
+
__asm__ __volatile__(".byte 0xf2 ; lock ; xchg %0, %1"
|
|
543
|
+
: "+r" (_Value), "+m" (*_Target) :: "memory");
|
|
544
|
+
return _Value;
|
|
545
|
+
}
|
|
546
|
+
static __inline__ __int64 __DEFAULT_FN_ATTRS
|
|
547
|
+
_InterlockedExchange64_HLERelease(__int64 volatile *_Target, __int64 _Value) {
|
|
548
|
+
__asm__ __volatile__(".byte 0xf3 ; lock ; xchg %0, %1"
|
|
549
|
+
: "+r" (_Value), "+m" (*_Target) :: "memory");
|
|
550
|
+
return _Value;
|
|
551
|
+
}
|
|
552
|
+
#endif
|
|
553
|
+
/*----------------------------------------------------------------------------*\
|
|
554
|
+
|* Interlocked Compare Exchange HLE
|
|
555
|
+
\*----------------------------------------------------------------------------*/
|
|
556
|
+
#if defined(__i386__) || defined(__x86_64__)
|
|
557
|
+
static __inline__ long __DEFAULT_FN_ATTRS
|
|
558
|
+
_InterlockedCompareExchange_HLEAcquire(long volatile *_Destination,
|
|
559
|
+
long _Exchange, long _Comparand) {
|
|
560
|
+
__asm__ __volatile__(".byte 0xf2 ; lock ; cmpxchg %2, %1"
|
|
561
|
+
: "+a" (_Comparand), "+m" (*_Destination)
|
|
562
|
+
: "r" (_Exchange) : "memory");
|
|
563
|
+
return _Comparand;
|
|
564
|
+
}
|
|
565
|
+
static __inline__ long __DEFAULT_FN_ATTRS
|
|
566
|
+
_InterlockedCompareExchange_HLERelease(long volatile *_Destination,
|
|
567
|
+
long _Exchange, long _Comparand) {
|
|
568
|
+
__asm__ __volatile__(".byte 0xf3 ; lock ; cmpxchg %2, %1"
|
|
569
|
+
: "+a" (_Comparand), "+m" (*_Destination)
|
|
570
|
+
: "r" (_Exchange) : "memory");
|
|
571
|
+
return _Comparand;
|
|
572
|
+
}
|
|
573
|
+
#endif
|
|
574
|
+
#if defined(__x86_64__)
|
|
575
|
+
static __inline__ __int64 __DEFAULT_FN_ATTRS
|
|
576
|
+
_InterlockedCompareExchange64_HLEAcquire(__int64 volatile *_Destination,
|
|
577
|
+
__int64 _Exchange, __int64 _Comparand) {
|
|
578
|
+
__asm__ __volatile__(".byte 0xf2 ; lock ; cmpxchg %2, %1"
|
|
579
|
+
: "+a" (_Comparand), "+m" (*_Destination)
|
|
580
|
+
: "r" (_Exchange) : "memory");
|
|
581
|
+
return _Comparand;
|
|
582
|
+
}
|
|
583
|
+
static __inline__ __int64 __DEFAULT_FN_ATTRS
|
|
584
|
+
_InterlockedCompareExchange64_HLERelease(__int64 volatile *_Destination,
|
|
585
|
+
__int64 _Exchange, __int64 _Comparand) {
|
|
586
|
+
__asm__ __volatile__(".byte 0xf3 ; lock ; cmpxchg %2, %1"
|
|
587
|
+
: "+a" (_Comparand), "+m" (*_Destination)
|
|
588
|
+
: "r" (_Exchange) : "memory");
|
|
589
|
+
return _Comparand;
|
|
590
|
+
}
|
|
591
|
+
#endif
|
|
592
|
+
#ifdef __cplusplus
|
|
593
|
+
}
|
|
594
|
+
#endif
|
|
595
|
+
|
|
596
|
+
#undef __DEFAULT_FN_ATTRS
|
|
597
|
+
|
|
598
|
+
#endif /* defined(_MSC_VER) && __has_extension(gnu_asm) */
|
|
599
|
+
|
|
600
|
+
#endif /* __IMMINTRIN_H */
|