@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.
Files changed (164) hide show
  1. package/LICENSE.TXT +279 -0
  2. package/README.md +7 -0
  3. package/bin/clang-tidy.exe +4 -0
  4. package/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h +121 -0
  5. package/lib/clang/12.0.1/include/__clang_cuda_cmath.h +512 -0
  6. package/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h +285 -0
  7. package/lib/clang/12.0.1/include/__clang_cuda_device_functions.h +1486 -0
  8. package/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h +486 -0
  9. package/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h +462 -0
  10. package/lib/clang/12.0.1/include/__clang_cuda_math.h +348 -0
  11. package/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h +284 -0
  12. package/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h +443 -0
  13. package/lib/clang/12.0.1/include/__clang_hip_cmath.h +664 -0
  14. package/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h +334 -0
  15. package/lib/clang/12.0.1/include/__clang_hip_math.h +1275 -0
  16. package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +69 -0
  17. package/lib/clang/12.0.1/include/__stddef_max_align_t.h +27 -0
  18. package/lib/clang/12.0.1/include/__wmmintrin_aes.h +140 -0
  19. package/lib/clang/12.0.1/include/__wmmintrin_pclmul.h +48 -0
  20. package/lib/clang/12.0.1/include/adxintrin.h +72 -0
  21. package/lib/clang/12.0.1/include/altivec.h +18239 -0
  22. package/lib/clang/12.0.1/include/ammintrin.h +179 -0
  23. package/lib/clang/12.0.1/include/amxintrin.h +278 -0
  24. package/lib/clang/12.0.1/include/arm64intr.h +35 -0
  25. package/lib/clang/12.0.1/include/arm_acle.h +716 -0
  26. package/lib/clang/12.0.1/include/arm_bf16.h +20 -0
  27. package/lib/clang/12.0.1/include/arm_cde.h +410 -0
  28. package/lib/clang/12.0.1/include/arm_cmse.h +217 -0
  29. package/lib/clang/12.0.1/include/arm_fp16.h +596 -0
  30. package/lib/clang/12.0.1/include/arm_mve.h +19187 -0
  31. package/lib/clang/12.0.1/include/arm_neon.h +68982 -0
  32. package/lib/clang/12.0.1/include/arm_sve.h +18148 -0
  33. package/lib/clang/12.0.1/include/armintr.h +31 -0
  34. package/lib/clang/12.0.1/include/avx2intrin.h +1148 -0
  35. package/lib/clang/12.0.1/include/avx512bf16intrin.h +279 -0
  36. package/lib/clang/12.0.1/include/avx512bitalgintrin.h +83 -0
  37. package/lib/clang/12.0.1/include/avx512bwintrin.h +2024 -0
  38. package/lib/clang/12.0.1/include/avx512cdintrin.h +123 -0
  39. package/lib/clang/12.0.1/include/avx512dqintrin.h +1377 -0
  40. package/lib/clang/12.0.1/include/avx512erintrin.h +271 -0
  41. package/lib/clang/12.0.1/include/avx512fintrin.h +9618 -0
  42. package/lib/clang/12.0.1/include/avx512ifmaintrin.h +68 -0
  43. package/lib/clang/12.0.1/include/avx512ifmavlintrin.h +119 -0
  44. package/lib/clang/12.0.1/include/avx512pfintrin.h +97 -0
  45. package/lib/clang/12.0.1/include/avx512vbmi2intrin.h +357 -0
  46. package/lib/clang/12.0.1/include/avx512vbmiintrin.h +105 -0
  47. package/lib/clang/12.0.1/include/avx512vbmivlintrin.h +188 -0
  48. package/lib/clang/12.0.1/include/avx512vlbf16intrin.h +474 -0
  49. package/lib/clang/12.0.1/include/avx512vlbitalgintrin.h +145 -0
  50. package/lib/clang/12.0.1/include/avx512vlbwintrin.h +2809 -0
  51. package/lib/clang/12.0.1/include/avx512vlcdintrin.h +225 -0
  52. package/lib/clang/12.0.1/include/avx512vldqintrin.h +1167 -0
  53. package/lib/clang/12.0.1/include/avx512vlintrin.h +8445 -0
  54. package/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h +689 -0
  55. package/lib/clang/12.0.1/include/avx512vlvnniintrin.h +304 -0
  56. package/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h +121 -0
  57. package/lib/clang/12.0.1/include/avx512vnniintrin.h +115 -0
  58. package/lib/clang/12.0.1/include/avx512vp2intersectintrin.h +77 -0
  59. package/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h +54 -0
  60. package/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h +91 -0
  61. package/lib/clang/12.0.1/include/avxintrin.h +5053 -0
  62. package/lib/clang/12.0.1/include/avxvnniintrin.h +225 -0
  63. package/lib/clang/12.0.1/include/bmi2intrin.h +81 -0
  64. package/lib/clang/12.0.1/include/bmiintrin.h +427 -0
  65. package/lib/clang/12.0.1/include/cet.h +66 -0
  66. package/lib/clang/12.0.1/include/cetintrin.h +99 -0
  67. package/lib/clang/12.0.1/include/cldemoteintrin.h +36 -0
  68. package/lib/clang/12.0.1/include/clflushoptintrin.h +27 -0
  69. package/lib/clang/12.0.1/include/clwbintrin.h +38 -0
  70. package/lib/clang/12.0.1/include/clzerointrin.h +36 -0
  71. package/lib/clang/12.0.1/include/cpuid.h +319 -0
  72. package/lib/clang/12.0.1/include/cuda_wrappers/algorithm +116 -0
  73. package/lib/clang/12.0.1/include/cuda_wrappers/complex +82 -0
  74. package/lib/clang/12.0.1/include/cuda_wrappers/new +106 -0
  75. package/lib/clang/12.0.1/include/emmintrin.h +4981 -0
  76. package/lib/clang/12.0.1/include/enqcmdintrin.h +63 -0
  77. package/lib/clang/12.0.1/include/f16cintrin.h +162 -0
  78. package/lib/clang/12.0.1/include/float.h +152 -0
  79. package/lib/clang/12.0.1/include/fma4intrin.h +218 -0
  80. package/lib/clang/12.0.1/include/fmaintrin.h +216 -0
  81. package/lib/clang/12.0.1/include/fxsrintrin.h +91 -0
  82. package/lib/clang/12.0.1/include/gfniintrin.h +193 -0
  83. package/lib/clang/12.0.1/include/hresetintrin.h +49 -0
  84. package/lib/clang/12.0.1/include/htmintrin.h +212 -0
  85. package/lib/clang/12.0.1/include/htmxlintrin.h +345 -0
  86. package/lib/clang/12.0.1/include/ia32intrin.h +441 -0
  87. package/lib/clang/12.0.1/include/immintrin.h +600 -0
  88. package/lib/clang/12.0.1/include/intrin.h +585 -0
  89. package/lib/clang/12.0.1/include/inttypes.h +97 -0
  90. package/lib/clang/12.0.1/include/invpcidintrin.h +23 -0
  91. package/lib/clang/12.0.1/include/iso646.h +27 -0
  92. package/lib/clang/12.0.1/include/keylockerintrin.h +506 -0
  93. package/lib/clang/12.0.1/include/limits.h +102 -0
  94. package/lib/clang/12.0.1/include/lwpintrin.h +136 -0
  95. package/lib/clang/12.0.1/include/lzcntintrin.h +104 -0
  96. package/lib/clang/12.0.1/include/mm3dnow.h +157 -0
  97. package/lib/clang/12.0.1/include/mm_malloc.h +67 -0
  98. package/lib/clang/12.0.1/include/mmintrin.h +1558 -0
  99. package/lib/clang/12.0.1/include/module.modulemap +164 -0
  100. package/lib/clang/12.0.1/include/movdirintrin.h +49 -0
  101. package/lib/clang/12.0.1/include/msa.h +573 -0
  102. package/lib/clang/12.0.1/include/mwaitxintrin.h +33 -0
  103. package/lib/clang/12.0.1/include/nmmintrin.h +16 -0
  104. package/lib/clang/12.0.1/include/opencl-c-base.h +589 -0
  105. package/lib/clang/12.0.1/include/opencl-c.h +17162 -0
  106. package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +42 -0
  107. package/lib/clang/12.0.1/include/openmp_wrappers/cmath +78 -0
  108. package/lib/clang/12.0.1/include/openmp_wrappers/complex +52 -0
  109. package/lib/clang/12.0.1/include/openmp_wrappers/complex.h +27 -0
  110. package/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h +388 -0
  111. package/lib/clang/12.0.1/include/openmp_wrappers/math.h +51 -0
  112. package/lib/clang/12.0.1/include/openmp_wrappers/new +70 -0
  113. package/lib/clang/12.0.1/include/pconfigintrin.h +40 -0
  114. package/lib/clang/12.0.1/include/pkuintrin.h +34 -0
  115. package/lib/clang/12.0.1/include/pmmintrin.h +290 -0
  116. package/lib/clang/12.0.1/include/popcntintrin.h +59 -0
  117. package/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h +2324 -0
  118. package/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h +50 -0
  119. package/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h +1450 -0
  120. package/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h +150 -0
  121. package/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h +109 -0
  122. package/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h +495 -0
  123. package/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h +1843 -0
  124. package/lib/clang/12.0.1/include/prfchwintrin.h +55 -0
  125. package/lib/clang/12.0.1/include/ptwriteintrin.h +37 -0
  126. package/lib/clang/12.0.1/include/rdseedintrin.h +42 -0
  127. package/lib/clang/12.0.1/include/rtmintrin.h +45 -0
  128. package/lib/clang/12.0.1/include/s390intrin.h +25 -0
  129. package/lib/clang/12.0.1/include/serializeintrin.h +30 -0
  130. package/lib/clang/12.0.1/include/sgxintrin.h +60 -0
  131. package/lib/clang/12.0.1/include/shaintrin.h +61 -0
  132. package/lib/clang/12.0.1/include/smmintrin.h +2430 -0
  133. package/lib/clang/12.0.1/include/stdalign.h +21 -0
  134. package/lib/clang/12.0.1/include/stdarg.h +35 -0
  135. package/lib/clang/12.0.1/include/stdatomic.h +176 -0
  136. package/lib/clang/12.0.1/include/stdbool.h +31 -0
  137. package/lib/clang/12.0.1/include/stddef.h +121 -0
  138. package/lib/clang/12.0.1/include/stdint.h +693 -0
  139. package/lib/clang/12.0.1/include/stdnoreturn.h +16 -0
  140. package/lib/clang/12.0.1/include/tbmintrin.h +140 -0
  141. package/lib/clang/12.0.1/include/tgmath.h +1368 -0
  142. package/lib/clang/12.0.1/include/tmmintrin.h +771 -0
  143. package/lib/clang/12.0.1/include/tsxldtrkintrin.h +56 -0
  144. package/lib/clang/12.0.1/include/uintrintrin.h +150 -0
  145. package/lib/clang/12.0.1/include/unwind.h +327 -0
  146. package/lib/clang/12.0.1/include/vadefs.h +51 -0
  147. package/lib/clang/12.0.1/include/vaesintrin.h +84 -0
  148. package/lib/clang/12.0.1/include/varargs.h +12 -0
  149. package/lib/clang/12.0.1/include/vecintrin.h +10998 -0
  150. package/lib/clang/12.0.1/include/vpclmulqdqintrin.h +28 -0
  151. package/lib/clang/12.0.1/include/waitpkgintrin.h +42 -0
  152. package/lib/clang/12.0.1/include/wasm_simd128.h +1167 -0
  153. package/lib/clang/12.0.1/include/wbnoinvdintrin.h +24 -0
  154. package/lib/clang/12.0.1/include/wmmintrin.h +19 -0
  155. package/lib/clang/12.0.1/include/x86gprintrin.h +23 -0
  156. package/lib/clang/12.0.1/include/x86intrin.h +63 -0
  157. package/lib/clang/12.0.1/include/xmmintrin.h +3008 -0
  158. package/lib/clang/12.0.1/include/xopintrin.h +770 -0
  159. package/lib/clang/12.0.1/include/xsavecintrin.h +34 -0
  160. package/lib/clang/12.0.1/include/xsaveintrin.h +63 -0
  161. package/lib/clang/12.0.1/include/xsaveoptintrin.h +34 -0
  162. package/lib/clang/12.0.1/include/xsavesintrin.h +44 -0
  163. package/lib/clang/12.0.1/include/xtestintrin.h +27 -0
  164. package/package.json +32 -0
@@ -0,0 +1,216 @@
1
+ /*===---- fmaintrin.h - FMA 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
+ #error "Never use <fmaintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __FMAINTRIN_H
15
+ #define __FMAINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(128)))
19
+ #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(256)))
20
+
21
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
22
+ _mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
23
+ {
24
+ return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
25
+ }
26
+
27
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
28
+ _mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
29
+ {
30
+ return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
31
+ }
32
+
33
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
34
+ _mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
35
+ {
36
+ return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
37
+ }
38
+
39
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
40
+ _mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
41
+ {
42
+ return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, (__v2df)__C);
43
+ }
44
+
45
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
46
+ _mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
47
+ {
48
+ return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
49
+ }
50
+
51
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
52
+ _mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
53
+ {
54
+ return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
55
+ }
56
+
57
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
58
+ _mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
59
+ {
60
+ return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
61
+ }
62
+
63
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
64
+ _mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
65
+ {
66
+ return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, -(__v2df)__C);
67
+ }
68
+
69
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
70
+ _mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
71
+ {
72
+ return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
73
+ }
74
+
75
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
76
+ _mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
77
+ {
78
+ return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
79
+ }
80
+
81
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
82
+ _mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
83
+ {
84
+ return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, (__v4sf)__C);
85
+ }
86
+
87
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
88
+ _mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
89
+ {
90
+ return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, (__v2df)__C);
91
+ }
92
+
93
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
94
+ _mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
95
+ {
96
+ return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
97
+ }
98
+
99
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
100
+ _mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
101
+ {
102
+ return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
103
+ }
104
+
105
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
106
+ _mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
107
+ {
108
+ return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, -(__v4sf)__C);
109
+ }
110
+
111
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
112
+ _mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C)
113
+ {
114
+ return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, -(__v2df)__C);
115
+ }
116
+
117
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
118
+ _mm_fmaddsub_ps(__m128 __A, __m128 __B, __m128 __C)
119
+ {
120
+ return (__m128)__builtin_ia32_vfmaddsubps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
121
+ }
122
+
123
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
124
+ _mm_fmaddsub_pd(__m128d __A, __m128d __B, __m128d __C)
125
+ {
126
+ return (__m128d)__builtin_ia32_vfmaddsubpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
127
+ }
128
+
129
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
130
+ _mm_fmsubadd_ps(__m128 __A, __m128 __B, __m128 __C)
131
+ {
132
+ return (__m128)__builtin_ia32_vfmaddsubps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
133
+ }
134
+
135
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128
136
+ _mm_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C)
137
+ {
138
+ return (__m128d)__builtin_ia32_vfmaddsubpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
139
+ }
140
+
141
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
142
+ _mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
143
+ {
144
+ return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
145
+ }
146
+
147
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
148
+ _mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
149
+ {
150
+ return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
151
+ }
152
+
153
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
154
+ _mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
155
+ {
156
+ return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
157
+ }
158
+
159
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
160
+ _mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
161
+ {
162
+ return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
163
+ }
164
+
165
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
166
+ _mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
167
+ {
168
+ return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
169
+ }
170
+
171
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
172
+ _mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
173
+ {
174
+ return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, (__v4df)__C);
175
+ }
176
+
177
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
178
+ _mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
179
+ {
180
+ return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
181
+ }
182
+
183
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
184
+ _mm256_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C)
185
+ {
186
+ return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
187
+ }
188
+
189
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
190
+ _mm256_fmaddsub_ps(__m256 __A, __m256 __B, __m256 __C)
191
+ {
192
+ return (__m256)__builtin_ia32_vfmaddsubps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
193
+ }
194
+
195
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
196
+ _mm256_fmaddsub_pd(__m256d __A, __m256d __B, __m256d __C)
197
+ {
198
+ return (__m256d)__builtin_ia32_vfmaddsubpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
199
+ }
200
+
201
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
202
+ _mm256_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C)
203
+ {
204
+ return (__m256)__builtin_ia32_vfmaddsubps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
205
+ }
206
+
207
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
208
+ _mm256_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C)
209
+ {
210
+ return (__m256d)__builtin_ia32_vfmaddsubpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
211
+ }
212
+
213
+ #undef __DEFAULT_FN_ATTRS128
214
+ #undef __DEFAULT_FN_ATTRS256
215
+
216
+ #endif /* __FMAINTRIN_H */
@@ -0,0 +1,91 @@
1
+ /*===---- fxsrintrin.h - FXSR intrinsic ------------------------------------===
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
+ #error "Never use <fxsrintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __FXSRINTRIN_H
15
+ #define __FXSRINTRIN_H
16
+
17
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("fxsr")))
18
+
19
+ /// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte
20
+ /// memory region pointed to by the input parameter \a __p.
21
+ ///
22
+ /// \headerfile <x86intrin.h>
23
+ ///
24
+ /// This intrinsic corresponds to the <c> FXSAVE </c> instruction.
25
+ ///
26
+ /// \param __p
27
+ /// A pointer to a 512-byte memory region. The beginning of this memory
28
+ /// region should be aligned on a 16-byte boundary.
29
+ static __inline__ void __DEFAULT_FN_ATTRS
30
+ _fxsave(void *__p)
31
+ {
32
+ __builtin_ia32_fxsave(__p);
33
+ }
34
+
35
+ /// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte
36
+ /// memory region pointed to by the input parameter \a __p. The contents of
37
+ /// this memory region should have been written to by a previous \c _fxsave
38
+ /// or \c _fxsave64 intrinsic.
39
+ ///
40
+ /// \headerfile <x86intrin.h>
41
+ ///
42
+ /// This intrinsic corresponds to the <c> FXRSTOR </c> instruction.
43
+ ///
44
+ /// \param __p
45
+ /// A pointer to a 512-byte memory region. The beginning of this memory
46
+ /// region should be aligned on a 16-byte boundary.
47
+ static __inline__ void __DEFAULT_FN_ATTRS
48
+ _fxrstor(void *__p)
49
+ {
50
+ __builtin_ia32_fxrstor(__p);
51
+ }
52
+
53
+ #ifdef __x86_64__
54
+ /// Saves the XMM, MMX, MXCSR and x87 FPU registers into a 512-byte
55
+ /// memory region pointed to by the input parameter \a __p.
56
+ ///
57
+ /// \headerfile <x86intrin.h>
58
+ ///
59
+ /// This intrinsic corresponds to the <c> FXSAVE64 </c> instruction.
60
+ ///
61
+ /// \param __p
62
+ /// A pointer to a 512-byte memory region. The beginning of this memory
63
+ /// region should be aligned on a 16-byte boundary.
64
+ static __inline__ void __DEFAULT_FN_ATTRS
65
+ _fxsave64(void *__p)
66
+ {
67
+ __builtin_ia32_fxsave64(__p);
68
+ }
69
+
70
+ /// Restores the XMM, MMX, MXCSR and x87 FPU registers from the 512-byte
71
+ /// memory region pointed to by the input parameter \a __p. The contents of
72
+ /// this memory region should have been written to by a previous \c _fxsave
73
+ /// or \c _fxsave64 intrinsic.
74
+ ///
75
+ /// \headerfile <x86intrin.h>
76
+ ///
77
+ /// This intrinsic corresponds to the <c> FXRSTOR64 </c> instruction.
78
+ ///
79
+ /// \param __p
80
+ /// A pointer to a 512-byte memory region. The beginning of this memory
81
+ /// region should be aligned on a 16-byte boundary.
82
+ static __inline__ void __DEFAULT_FN_ATTRS
83
+ _fxrstor64(void *__p)
84
+ {
85
+ __builtin_ia32_fxrstor64(__p);
86
+ }
87
+ #endif
88
+
89
+ #undef __DEFAULT_FN_ATTRS
90
+
91
+ #endif
@@ -0,0 +1,193 @@
1
+ /*===----------------- gfniintrin.h - GFNI 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 <gfniintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __GFNIINTRIN_H
15
+ #define __GFNIINTRIN_H
16
+
17
+ /* Default attributes for simple form (no masking). */
18
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("gfni"), __min_vector_width__(128)))
19
+
20
+ /* Default attributes for YMM unmasked form. */
21
+ #define __DEFAULT_FN_ATTRS_Y __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), __min_vector_width__(256)))
22
+
23
+ /* Default attributes for ZMM forms. */
24
+ #define __DEFAULT_FN_ATTRS_Z __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), __min_vector_width__(512)))
25
+
26
+ /* Default attributes for VLX forms. */
27
+ #define __DEFAULT_FN_ATTRS_VL128 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(128)))
28
+ #define __DEFAULT_FN_ATTRS_VL256 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,avx512vl,gfni"), __min_vector_width__(256)))
29
+
30
+ #define _mm_gf2p8affineinv_epi64_epi8(A, B, I) \
31
+ (__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
32
+ (__v16qi)(__m128i)(B), \
33
+ (char)(I))
34
+
35
+ #define _mm_gf2p8affine_epi64_epi8(A, B, I) \
36
+ (__m128i)__builtin_ia32_vgf2p8affineqb_v16qi((__v16qi)(__m128i)(A), \
37
+ (__v16qi)(__m128i)(B), \
38
+ (char)(I))
39
+
40
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
41
+ _mm_gf2p8mul_epi8(__m128i __A, __m128i __B)
42
+ {
43
+ return (__m128i) __builtin_ia32_vgf2p8mulb_v16qi((__v16qi) __A,
44
+ (__v16qi) __B);
45
+ }
46
+
47
+ #ifdef __AVXINTRIN_H
48
+ #define _mm256_gf2p8affineinv_epi64_epi8(A, B, I) \
49
+ (__m256i)__builtin_ia32_vgf2p8affineinvqb_v32qi((__v32qi)(__m256i)(A), \
50
+ (__v32qi)(__m256i)(B), \
51
+ (char)(I))
52
+
53
+ #define _mm256_gf2p8affine_epi64_epi8(A, B, I) \
54
+ (__m256i)__builtin_ia32_vgf2p8affineqb_v32qi((__v32qi)(__m256i)(A), \
55
+ (__v32qi)(__m256i)(B), \
56
+ (char)(I))
57
+
58
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_Y
59
+ _mm256_gf2p8mul_epi8(__m256i __A, __m256i __B)
60
+ {
61
+ return (__m256i) __builtin_ia32_vgf2p8mulb_v32qi((__v32qi) __A,
62
+ (__v32qi) __B);
63
+ }
64
+ #endif /* __AVXINTRIN_H */
65
+
66
+ #ifdef __AVX512BWINTRIN_H
67
+ #define _mm512_gf2p8affineinv_epi64_epi8(A, B, I) \
68
+ (__m512i)__builtin_ia32_vgf2p8affineinvqb_v64qi((__v64qi)(__m512i)(A), \
69
+ (__v64qi)(__m512i)(B), \
70
+ (char)(I))
71
+
72
+ #define _mm512_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
73
+ (__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
74
+ (__v64qi)_mm512_gf2p8affineinv_epi64_epi8(A, B, I), \
75
+ (__v64qi)(__m512i)(S))
76
+
77
+ #define _mm512_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
78
+ (__m512i)_mm512_mask_gf2p8affineinv_epi64_epi8((__m512i)_mm512_setzero_si512(), \
79
+ U, A, B, I)
80
+
81
+ #define _mm512_gf2p8affine_epi64_epi8(A, B, I) \
82
+ (__m512i)__builtin_ia32_vgf2p8affineqb_v64qi((__v64qi)(__m512i)(A), \
83
+ (__v64qi)(__m512i)(B), \
84
+ (char)(I))
85
+
86
+ #define _mm512_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
87
+ (__m512i)__builtin_ia32_selectb_512((__mmask64)(U), \
88
+ (__v64qi)_mm512_gf2p8affine_epi64_epi8(A, B, I), \
89
+ (__v64qi)(__m512i)(S))
90
+
91
+ #define _mm512_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
92
+ (__m512i)_mm512_mask_gf2p8affine_epi64_epi8((__m512i)_mm512_setzero_si512(), \
93
+ U, A, B, I)
94
+
95
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
96
+ _mm512_gf2p8mul_epi8(__m512i __A, __m512i __B)
97
+ {
98
+ return (__m512i) __builtin_ia32_vgf2p8mulb_v64qi((__v64qi) __A,
99
+ (__v64qi) __B);
100
+ }
101
+
102
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
103
+ _mm512_mask_gf2p8mul_epi8(__m512i __S, __mmask64 __U, __m512i __A, __m512i __B)
104
+ {
105
+ return (__m512i) __builtin_ia32_selectb_512(__U,
106
+ (__v64qi) _mm512_gf2p8mul_epi8(__A, __B),
107
+ (__v64qi) __S);
108
+ }
109
+
110
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_Z
111
+ _mm512_maskz_gf2p8mul_epi8(__mmask64 __U, __m512i __A, __m512i __B)
112
+ {
113
+ return _mm512_mask_gf2p8mul_epi8((__m512i)_mm512_setzero_si512(),
114
+ __U, __A, __B);
115
+ }
116
+ #endif /* __AVX512BWINTRIN_H */
117
+
118
+ #ifdef __AVX512VLBWINTRIN_H
119
+ #define _mm_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
120
+ (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
121
+ (__v16qi)_mm_gf2p8affineinv_epi64_epi8(A, B, I), \
122
+ (__v16qi)(__m128i)(S))
123
+
124
+ #define _mm_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
125
+ (__m128i)_mm_mask_gf2p8affineinv_epi64_epi8((__m128i)_mm_setzero_si128(), \
126
+ U, A, B, I)
127
+
128
+ #define _mm256_mask_gf2p8affineinv_epi64_epi8(S, U, A, B, I) \
129
+ (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
130
+ (__v32qi)_mm256_gf2p8affineinv_epi64_epi8(A, B, I), \
131
+ (__v32qi)(__m256i)(S))
132
+
133
+ #define _mm256_maskz_gf2p8affineinv_epi64_epi8(U, A, B, I) \
134
+ (__m256i)_mm256_mask_gf2p8affineinv_epi64_epi8((__m256i)_mm256_setzero_si256(), \
135
+ U, A, B, I)
136
+
137
+ #define _mm_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
138
+ (__m128i)__builtin_ia32_selectb_128((__mmask16)(U), \
139
+ (__v16qi)_mm_gf2p8affine_epi64_epi8(A, B, I), \
140
+ (__v16qi)(__m128i)(S))
141
+
142
+ #define _mm_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
143
+ (__m128i)_mm_mask_gf2p8affine_epi64_epi8((__m128i)_mm_setzero_si128(), \
144
+ U, A, B, I)
145
+
146
+ #define _mm256_mask_gf2p8affine_epi64_epi8(S, U, A, B, I) \
147
+ (__m256i)__builtin_ia32_selectb_256((__mmask32)(U), \
148
+ (__v32qi)_mm256_gf2p8affine_epi64_epi8(A, B, I), \
149
+ (__v32qi)(__m256i)(S))
150
+
151
+ #define _mm256_maskz_gf2p8affine_epi64_epi8(U, A, B, I) \
152
+ (__m256i)_mm256_mask_gf2p8affine_epi64_epi8((__m256i)_mm256_setzero_si256(), \
153
+ U, A, B, I)
154
+
155
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_VL128
156
+ _mm_mask_gf2p8mul_epi8(__m128i __S, __mmask16 __U, __m128i __A, __m128i __B)
157
+ {
158
+ return (__m128i) __builtin_ia32_selectb_128(__U,
159
+ (__v16qi) _mm_gf2p8mul_epi8(__A, __B),
160
+ (__v16qi) __S);
161
+ }
162
+
163
+ static __inline__ __m128i __DEFAULT_FN_ATTRS_VL128
164
+ _mm_maskz_gf2p8mul_epi8(__mmask16 __U, __m128i __A, __m128i __B)
165
+ {
166
+ return _mm_mask_gf2p8mul_epi8((__m128i)_mm_setzero_si128(),
167
+ __U, __A, __B);
168
+ }
169
+
170
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_VL256
171
+ _mm256_mask_gf2p8mul_epi8(__m256i __S, __mmask32 __U, __m256i __A, __m256i __B)
172
+ {
173
+ return (__m256i) __builtin_ia32_selectb_256(__U,
174
+ (__v32qi) _mm256_gf2p8mul_epi8(__A, __B),
175
+ (__v32qi) __S);
176
+ }
177
+
178
+ static __inline__ __m256i __DEFAULT_FN_ATTRS_VL256
179
+ _mm256_maskz_gf2p8mul_epi8(__mmask32 __U, __m256i __A, __m256i __B)
180
+ {
181
+ return _mm256_mask_gf2p8mul_epi8((__m256i)_mm256_setzero_si256(),
182
+ __U, __A, __B);
183
+ }
184
+ #endif /* __AVX512VLBWINTRIN_H */
185
+
186
+ #undef __DEFAULT_FN_ATTRS
187
+ #undef __DEFAULT_FN_ATTRS_Y
188
+ #undef __DEFAULT_FN_ATTRS_Z
189
+ #undef __DEFAULT_FN_ATTRS_VL128
190
+ #undef __DEFAULT_FN_ATTRS_VL256
191
+
192
+ #endif /* __GFNIINTRIN_H */
193
+
@@ -0,0 +1,49 @@
1
+ /*===---------------- hresetintrin.h - HRESET 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
+ #ifndef __X86GPRINTRIN_H
10
+ #error "Never use <hresetintrin.h> directly; include <x86gprintrin.h> instead."
11
+ #endif
12
+
13
+ #ifndef __HRESETINTRIN_H
14
+ #define __HRESETINTRIN_H
15
+
16
+ #if __has_extension(gnu_asm)
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #define __DEFAULT_FN_ATTRS \
20
+ __attribute__((__always_inline__, __nodebug__, __target__("hreset")))
21
+
22
+ /// Provides a hint to the processor to selectively reset the prediction
23
+ /// history of the current logical processor specified by a 32-bit integer
24
+ /// value \a __eax.
25
+ ///
26
+ /// This intrinsic corresponds to the <c> HRESET </c> instruction.
27
+ ///
28
+ /// \operation
29
+ /// IF __eax == 0
30
+ /// // nop
31
+ /// ELSE
32
+ /// FOR i := 0 to 31
33
+ /// IF __eax[i]
34
+ /// ResetPredictionFeature(i)
35
+ /// FI
36
+ /// ENDFOR
37
+ /// FI
38
+ /// \endoperation
39
+ static __inline void __DEFAULT_FN_ATTRS
40
+ _hreset(int __eax)
41
+ {
42
+ __asm__ ("hreset $0" :: "a"(__eax));
43
+ }
44
+
45
+ #undef __DEFAULT_FN_ATTRS
46
+
47
+ #endif /* __has_extension(gnu_asm) */
48
+
49
+ #endif /* __HRESETINTRIN_H */