llvm-runtime-resources-darwin 0.0.0 → 22.1.8

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 (350) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +229 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +994 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +284 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +522 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_hip_cmath.h +848 -0
  14. package/include/__clang_hip_libdevice_declares.h +340 -0
  15. package/include/__clang_hip_math.h +1405 -0
  16. package/include/__clang_hip_runtime_wrapper.h +165 -0
  17. package/include/__clang_hip_stdlib.h +43 -0
  18. package/include/__clang_spirv_builtins.h +217 -0
  19. package/include/__float_float.h +176 -0
  20. package/include/__float_header_macro.h +12 -0
  21. package/include/__float_infinity_nan.h +20 -0
  22. package/include/__stdarg___gnuc_va_list.h +13 -0
  23. package/include/__stdarg___va_copy.h +12 -0
  24. package/include/__stdarg_header_macro.h +12 -0
  25. package/include/__stdarg_va_arg.h +22 -0
  26. package/include/__stdarg_va_copy.h +12 -0
  27. package/include/__stdarg_va_list.h +13 -0
  28. package/include/__stddef_header_macro.h +12 -0
  29. package/include/__stddef_max_align_t.h +27 -0
  30. package/include/__stddef_null.h +29 -0
  31. package/include/__stddef_nullptr_t.h +29 -0
  32. package/include/__stddef_offsetof.h +17 -0
  33. package/include/__stddef_ptrdiff_t.h +20 -0
  34. package/include/__stddef_rsize_t.h +20 -0
  35. package/include/__stddef_size_t.h +20 -0
  36. package/include/__stddef_unreachable.h +21 -0
  37. package/include/__stddef_wchar_t.h +28 -0
  38. package/include/__stddef_wint_t.h +15 -0
  39. package/include/__wmmintrin_aes.h +140 -0
  40. package/include/__wmmintrin_pclmul.h +48 -0
  41. package/include/adcintrin.h +165 -0
  42. package/include/adxintrin.h +107 -0
  43. package/include/altivec.h +19364 -0
  44. package/include/amdgpuintrin.h +191 -0
  45. package/include/ammintrin.h +183 -0
  46. package/include/amo.h +131 -0
  47. package/include/amxavx512intrin.h +596 -0
  48. package/include/amxcomplexintrin.h +167 -0
  49. package/include/amxfp16intrin.h +93 -0
  50. package/include/amxfp8intrin.h +230 -0
  51. package/include/amxintrin.h +492 -0
  52. package/include/amxmovrsintrin.h +48 -0
  53. package/include/amxtf32intrin.h +108 -0
  54. package/include/andes_vector.h +16 -0
  55. package/include/arm64intr.h +35 -0
  56. package/include/arm_acle.h +865 -0
  57. package/include/arm_bf16.h +20 -0
  58. package/include/arm_cde.h +410 -0
  59. package/include/arm_cmse.h +217 -0
  60. package/include/arm_fp16.h +596 -0
  61. package/include/arm_mve.h +19187 -0
  62. package/include/arm_neon.h +74183 -0
  63. package/include/arm_neon_sve_bridge.h +182 -0
  64. package/include/arm_sme.h +3741 -0
  65. package/include/arm_sve.h +32278 -0
  66. package/include/arm_vector_types.h +432 -0
  67. package/include/armintr.h +31 -0
  68. package/include/avx10_2_512bf16intrin.h +568 -0
  69. package/include/avx10_2_512convertintrin.h +322 -0
  70. package/include/avx10_2_512minmaxintrin.h +127 -0
  71. package/include/avx10_2_512niintrin.h +314 -0
  72. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  73. package/include/avx10_2_512satcvtintrin.h +301 -0
  74. package/include/avx10_2bf16intrin.h +1094 -0
  75. package/include/avx10_2convertintrin.h +3257 -0
  76. package/include/avx10_2copyintrin.h +66 -0
  77. package/include/avx10_2minmaxintrin.h +232 -0
  78. package/include/avx10_2niintrin.h +409 -0
  79. package/include/avx10_2satcvtdsintrin.h +376 -0
  80. package/include/avx10_2satcvtintrin.h +312 -0
  81. package/include/avx2intrin.h +5191 -0
  82. package/include/avx512bf16intrin.h +292 -0
  83. package/include/avx512bitalgintrin.h +75 -0
  84. package/include/avx512bwintrin.h +1895 -0
  85. package/include/avx512cdintrin.h +112 -0
  86. package/include/avx512dqintrin.h +1350 -0
  87. package/include/avx512fintrin.h +9378 -0
  88. package/include/avx512fp16intrin.h +3355 -0
  89. package/include/avx512ifmaintrin.h +68 -0
  90. package/include/avx512ifmavlintrin.h +138 -0
  91. package/include/avx512vbmi2intrin.h +368 -0
  92. package/include/avx512vbmiintrin.h +98 -0
  93. package/include/avx512vbmivlintrin.h +179 -0
  94. package/include/avx512vlbf16intrin.h +527 -0
  95. package/include/avx512vlbitalgintrin.h +135 -0
  96. package/include/avx512vlbwintrin.h +3064 -0
  97. package/include/avx512vlcdintrin.h +202 -0
  98. package/include/avx512vldqintrin.h +1156 -0
  99. package/include/avx512vlfp16intrin.h +2090 -0
  100. package/include/avx512vlintrin.h +8083 -0
  101. package/include/avx512vlvbmi2intrin.h +710 -0
  102. package/include/avx512vlvnniintrin.h +313 -0
  103. package/include/avx512vlvp2intersectintrin.h +123 -0
  104. package/include/avx512vnniintrin.h +116 -0
  105. package/include/avx512vp2intersectintrin.h +77 -0
  106. package/include/avx512vpopcntdqintrin.h +62 -0
  107. package/include/avx512vpopcntdqvlintrin.h +105 -0
  108. package/include/avxifmaintrin.h +193 -0
  109. package/include/avxintrin.h +5064 -0
  110. package/include/avxneconvertintrin.h +484 -0
  111. package/include/avxvnniint16intrin.h +451 -0
  112. package/include/avxvnniint8intrin.h +454 -0
  113. package/include/avxvnniintrin.h +233 -0
  114. package/include/bmi2intrin.h +253 -0
  115. package/include/bmiintrin.h +604 -0
  116. package/include/builtins.h +19 -0
  117. package/include/cet.h +66 -0
  118. package/include/cetintrin.h +115 -0
  119. package/include/cldemoteintrin.h +36 -0
  120. package/include/clflushoptintrin.h +36 -0
  121. package/include/clwbintrin.h +38 -0
  122. package/include/clzerointrin.h +38 -0
  123. package/include/cmpccxaddintrin.h +70 -0
  124. package/include/cpuid.h +451 -0
  125. package/include/crc32intrin.h +100 -0
  126. package/include/cuda_wrappers/__utility/declval.h +28 -0
  127. package/include/cuda_wrappers/algorithm +116 -0
  128. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  129. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  130. package/include/cuda_wrappers/bits/c++config.h +61 -0
  131. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  132. package/include/cuda_wrappers/cmath +44 -0
  133. package/include/cuda_wrappers/complex +90 -0
  134. package/include/cuda_wrappers/new +108 -0
  135. package/include/emmintrin.h +4940 -0
  136. package/include/enqcmdintrin.h +63 -0
  137. package/include/f16cintrin.h +176 -0
  138. package/include/float.h +48 -0
  139. package/include/fma4intrin.h +220 -0
  140. package/include/fmaintrin.h +826 -0
  141. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  142. package/include/fxsrintrin.h +91 -0
  143. package/include/gfniintrin.h +238 -0
  144. package/include/gpuintrin.h +330 -0
  145. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  146. package/include/hexagon_protos.h +8439 -0
  147. package/include/hexagon_types.h +2628 -0
  148. package/include/hresetintrin.h +49 -0
  149. package/include/htmintrin.h +212 -0
  150. package/include/htmxlintrin.h +345 -0
  151. package/include/hvx_hexagon_protos.h +5399 -0
  152. package/include/ia32intrin.h +863 -0
  153. package/include/immintrin.h +595 -0
  154. package/include/intrin.h +491 -0
  155. package/include/intrin0.h +256 -0
  156. package/include/inttypes.h +101 -0
  157. package/include/invpcidintrin.h +23 -0
  158. package/include/iso646.h +31 -0
  159. package/include/keylockerintrin.h +518 -0
  160. package/include/larchintrin.h +260 -0
  161. package/include/lasxintrin.h +3999 -0
  162. package/include/limits.h +133 -0
  163. package/include/llvm_libc_wrappers/assert.h +32 -0
  164. package/include/llvm_libc_wrappers/ctype.h +28 -0
  165. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  166. package/include/llvm_libc_wrappers/stdio.h +52 -0
  167. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  168. package/include/llvm_libc_wrappers/string.h +28 -0
  169. package/include/llvm_libc_wrappers/time.h +28 -0
  170. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  171. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  172. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  173. package/include/lsxintrin.h +3752 -0
  174. package/include/lwpintrin.h +136 -0
  175. package/include/lzcntintrin.h +109 -0
  176. package/include/mm3dnow.h +22 -0
  177. package/include/mm_malloc.h +67 -0
  178. package/include/mmintrin.h +1541 -0
  179. package/include/module.modulemap +360 -0
  180. package/include/movdirintrin.h +49 -0
  181. package/include/movrs_avx10_2_512intrin.h +98 -0
  182. package/include/movrs_avx10_2intrin.h +174 -0
  183. package/include/movrsintrin.h +59 -0
  184. package/include/msa.h +573 -0
  185. package/include/mwaitxintrin.h +62 -0
  186. package/include/nmmintrin.h +20 -0
  187. package/include/nvptxintrin.h +219 -0
  188. package/include/opencl-c-base.h +758 -0
  189. package/include/opencl-c.h +18676 -0
  190. package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
  191. package/include/openmp_wrappers/cmath +132 -0
  192. package/include/openmp_wrappers/complex +55 -0
  193. package/include/openmp_wrappers/complex.h +35 -0
  194. package/include/openmp_wrappers/complex_cmath.h +393 -0
  195. package/include/openmp_wrappers/math.h +61 -0
  196. package/include/openmp_wrappers/new +48 -0
  197. package/include/pconfigintrin.h +40 -0
  198. package/include/pkuintrin.h +34 -0
  199. package/include/pmmintrin.h +302 -0
  200. package/include/popcntintrin.h +59 -0
  201. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  202. package/include/ppc_wrappers/bmiintrin.h +165 -0
  203. package/include/ppc_wrappers/emmintrin.h +2269 -0
  204. package/include/ppc_wrappers/immintrin.h +27 -0
  205. package/include/ppc_wrappers/mm_malloc.h +45 -0
  206. package/include/ppc_wrappers/mmintrin.h +1453 -0
  207. package/include/ppc_wrappers/nmmintrin.h +26 -0
  208. package/include/ppc_wrappers/pmmintrin.h +145 -0
  209. package/include/ppc_wrappers/smmintrin.h +683 -0
  210. package/include/ppc_wrappers/tmmintrin.h +453 -0
  211. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  212. package/include/ppc_wrappers/x86intrin.h +28 -0
  213. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  214. package/include/prfchiintrin.h +61 -0
  215. package/include/prfchwintrin.h +57 -0
  216. package/include/profile/InstrProfData.inc +1001 -0
  217. package/include/profile/instr_prof_interface.h +88 -0
  218. package/include/ptrauth.h +407 -0
  219. package/include/ptwriteintrin.h +37 -0
  220. package/include/raointintrin.h +203 -0
  221. package/include/rdpruintrin.h +57 -0
  222. package/include/rdseedintrin.h +105 -0
  223. package/include/riscv_bitmanip.h +195 -0
  224. package/include/riscv_corev_alu.h +128 -0
  225. package/include/riscv_crypto.h +170 -0
  226. package/include/riscv_mips.h +34 -0
  227. package/include/riscv_nds.h +89 -0
  228. package/include/riscv_ntlh.h +26 -0
  229. package/include/riscv_vector.h +422 -0
  230. package/include/rtmintrin.h +45 -0
  231. package/include/s390intrin.h +25 -0
  232. package/include/sanitizer/allocator_interface.h +106 -0
  233. package/include/sanitizer/asan_interface.h +348 -0
  234. package/include/sanitizer/common_interface_defs.h +544 -0
  235. package/include/sanitizer/coverage_interface.h +36 -0
  236. package/include/sanitizer/dfsan_interface.h +220 -0
  237. package/include/sanitizer/hwasan_interface.h +109 -0
  238. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  239. package/include/sanitizer/lsan_interface.h +89 -0
  240. package/include/sanitizer/msan_interface.h +135 -0
  241. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  242. package/include/sanitizer/rtsan_interface.h +75 -0
  243. package/include/sanitizer/scudo_interface.h +38 -0
  244. package/include/sanitizer/tsan_interface.h +316 -0
  245. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  246. package/include/sanitizer/ubsan_interface.h +34 -0
  247. package/include/serializeintrin.h +30 -0
  248. package/include/sgxintrin.h +60 -0
  249. package/include/sha512intrin.h +200 -0
  250. package/include/shaintrin.h +190 -0
  251. package/include/sifive_vector.h +174 -0
  252. package/include/sm3intrin.h +238 -0
  253. package/include/sm4evexintrin.h +32 -0
  254. package/include/sm4intrin.h +269 -0
  255. package/include/smmintrin.h +2352 -0
  256. package/include/spirvintrin.h +194 -0
  257. package/include/stdalign.h +24 -0
  258. package/include/stdarg.h +75 -0
  259. package/include/stdatomic.h +204 -0
  260. package/include/stdbool.h +39 -0
  261. package/include/stdckdint.h +42 -0
  262. package/include/stdcountof.h +15 -0
  263. package/include/stddef.h +139 -0
  264. package/include/stddefer.h +19 -0
  265. package/include/stdint.h +844 -0
  266. package/include/stdnoreturn.h +35 -0
  267. package/include/tbmintrin.h +128 -0
  268. package/include/tgmath.h +1368 -0
  269. package/include/tmmintrin.h +779 -0
  270. package/include/tsxldtrkintrin.h +56 -0
  271. package/include/uintrintrin.h +157 -0
  272. package/include/unwind.h +332 -0
  273. package/include/usermsrintrin.h +51 -0
  274. package/include/vadefs.h +51 -0
  275. package/include/vaesintrin.h +86 -0
  276. package/include/varargs.h +16 -0
  277. package/include/vecintrin.h +12868 -0
  278. package/include/velintrin.h +71 -0
  279. package/include/velintrin_approx.h +120 -0
  280. package/include/velintrin_gen.h +1257 -0
  281. package/include/vpclmulqdqintrin.h +30 -0
  282. package/include/waitpkgintrin.h +42 -0
  283. package/include/wasm_simd128.h +2143 -0
  284. package/include/wbnoinvdintrin.h +24 -0
  285. package/include/wmmintrin.h +23 -0
  286. package/include/x86gprintrin.h +49 -0
  287. package/include/x86intrin.h +35 -0
  288. package/include/xmmintrin.h +3175 -0
  289. package/include/xopintrin.h +780 -0
  290. package/include/xsavecintrin.h +84 -0
  291. package/include/xsaveintrin.h +63 -0
  292. package/include/xsaveoptintrin.h +34 -0
  293. package/include/xsavesintrin.h +44 -0
  294. package/include/xtestintrin.h +27 -0
  295. package/include/yvals_core.h +25 -0
  296. package/include/zos_wrappers/builtins.h +18 -0
  297. package/index.js +5 -0
  298. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  299. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  300. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  301. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  302. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  303. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  304. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  305. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  306. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  307. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  308. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  309. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  310. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  311. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  312. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  313. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  314. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  315. package/lib/darwin/libclang_rt.ios.a +0 -0
  316. package/lib/darwin/libclang_rt.iossim.a +0 -0
  317. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  318. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  319. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  320. package/lib/darwin/libclang_rt.osx.a +0 -0
  321. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  322. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  323. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  324. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  327. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  329. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  330. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  331. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  332. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  333. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  334. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  335. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  336. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  337. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  338. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  339. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  342. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  343. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  344. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  345. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  348. package/package.json +40 -1
  349. package/share/asan_ignorelist.txt +14 -0
  350. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,292 @@
1
+ /*===------------ avx512bf16intrin.h - AVX512_BF16 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 __IMMINTRIN_H
10
+ #error "Never use <avx512bf16intrin.h> directly; include <immintrin.h> instead."
11
+ #endif
12
+
13
+ #ifdef __SSE2__
14
+
15
+ #ifndef __AVX512BF16INTRIN_H
16
+ #define __AVX512BF16INTRIN_H
17
+
18
+ typedef __bf16 __v32bf __attribute__((__vector_size__(64), __aligned__(64)));
19
+ typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
20
+ typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
21
+
22
+ #define __DEFAULT_FN_ATTRS512 \
23
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
24
+ __min_vector_width__(512)))
25
+ #define __DEFAULT_FN_ATTRS \
26
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16")))
27
+
28
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
29
+ #define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
30
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
31
+ #else
32
+ #define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
33
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
34
+ #endif
35
+
36
+ /// Convert One BF16 Data to One Single Float Data.
37
+ ///
38
+ /// \headerfile <x86intrin.h>
39
+ ///
40
+ /// This intrinsic does not correspond to a specific instruction.
41
+ ///
42
+ /// \param __A
43
+ /// A bfloat data.
44
+ /// \returns A float data whose sign field and exponent field keep unchanged,
45
+ /// and fraction field is extended to 23 bits.
46
+ static __inline__ float __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtsbh_ss(__bf16 __A) {
47
+ return (float)(__A);
48
+ }
49
+
50
+ /// Convert Two Packed Single Data to One Packed BF16 Data.
51
+ ///
52
+ /// \headerfile <x86intrin.h>
53
+ ///
54
+ /// This intrinsic corresponds to the <c> VCVTNE2PS2BF16 </c> instructions.
55
+ ///
56
+ /// \param __A
57
+ /// A 512-bit vector of [16 x float].
58
+ /// \param __B
59
+ /// A 512-bit vector of [16 x float].
60
+ /// \returns A 512-bit vector of [32 x bfloat] whose lower 256 bits come from
61
+ /// conversion of __B, and higher 256 bits come from conversion of __A.
62
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
63
+ _mm512_cvtne2ps_pbh(__m512 __A, __m512 __B) {
64
+ return (__m512bh)__builtin_ia32_cvtne2ps2bf16_512((__v16sf) __A,
65
+ (__v16sf) __B);
66
+ }
67
+
68
+ /// Convert Two Packed Single Data to One Packed BF16 Data.
69
+ ///
70
+ /// \headerfile <x86intrin.h>
71
+ ///
72
+ /// This intrinsic corresponds to the <c> VCVTNE2PS2BF16 </c> instructions.
73
+ ///
74
+ /// \param __A
75
+ /// A 512-bit vector of [16 x float].
76
+ /// \param __B
77
+ /// A 512-bit vector of [16 x float].
78
+ /// \param __W
79
+ /// A 512-bit vector of [32 x bfloat].
80
+ /// \param __U
81
+ /// A 32-bit mask value specifying what is chosen for each element.
82
+ /// A 1 means conversion of __A or __B. A 0 means element from __W.
83
+ /// \returns A 512-bit vector of [32 x bfloat] whose lower 256 bits come from
84
+ /// conversion of __B, and higher 256 bits come from conversion of __A.
85
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
86
+ _mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
87
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
88
+ (__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
89
+ (__v32bf)__W);
90
+ }
91
+
92
+ /// Convert Two Packed Single Data to One Packed BF16 Data.
93
+ ///
94
+ /// \headerfile <x86intrin.h>
95
+ ///
96
+ /// This intrinsic corresponds to the <c> VCVTNE2PS2BF16 </c> instructions.
97
+ ///
98
+ /// \param __A
99
+ /// A 512-bit vector of [16 x float].
100
+ /// \param __B
101
+ /// A 512-bit vector of [16 x float].
102
+ /// \param __U
103
+ /// A 32-bit mask value specifying what is chosen for each element.
104
+ /// A 1 means conversion of __A or __B. A 0 means element is zero.
105
+ /// \returns A 512-bit vector of [32 x bfloat] whose lower 256 bits come from
106
+ /// conversion of __B, and higher 256 bits come from conversion of __A.
107
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
108
+ _mm512_maskz_cvtne2ps_pbh(__mmask32 __U, __m512 __A, __m512 __B) {
109
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
110
+ (__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
111
+ (__v32bf)_mm512_setzero_si512());
112
+ }
113
+
114
+ /// Convert Packed Single Data to Packed BF16 Data.
115
+ ///
116
+ /// \headerfile <x86intrin.h>
117
+ ///
118
+ /// This intrinsic corresponds to the <c> VCVTNEPS2BF16 </c> instructions.
119
+ ///
120
+ /// \param __A
121
+ /// A 512-bit vector of [16 x float].
122
+ /// \returns A 256-bit vector of [16 x bfloat] come from conversion of __A.
123
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS512
124
+ _mm512_cvtneps_pbh(__m512 __A) {
125
+ return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
126
+ (__v16bf)_mm256_undefined_si256(),
127
+ (__mmask16)-1);
128
+ }
129
+
130
+ /// Convert Packed Single Data to Packed BF16 Data.
131
+ ///
132
+ /// \headerfile <x86intrin.h>
133
+ ///
134
+ /// This intrinsic corresponds to the <c> VCVTNEPS2BF16 </c> instructions.
135
+ ///
136
+ /// \param __A
137
+ /// A 512-bit vector of [16 x float].
138
+ /// \param __W
139
+ /// A 256-bit vector of [16 x bfloat].
140
+ /// \param __U
141
+ /// A 16-bit mask value specifying what is chosen for each element.
142
+ /// A 1 means conversion of __A. A 0 means element from __W.
143
+ /// \returns A 256-bit vector of [16 x bfloat] come from conversion of __A.
144
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS512
145
+ _mm512_mask_cvtneps_pbh(__m256bh __W, __mmask16 __U, __m512 __A) {
146
+ return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
147
+ (__v16bf)__W,
148
+ (__mmask16)__U);
149
+ }
150
+
151
+ /// Convert Packed Single Data to Packed BF16 Data.
152
+ ///
153
+ /// \headerfile <x86intrin.h>
154
+ ///
155
+ /// This intrinsic corresponds to the <c> VCVTNEPS2BF16 </c> instructions.
156
+ ///
157
+ /// \param __A
158
+ /// A 512-bit vector of [16 x float].
159
+ /// \param __U
160
+ /// A 16-bit mask value specifying what is chosen for each element.
161
+ /// A 1 means conversion of __A. A 0 means element is zero.
162
+ /// \returns A 256-bit vector of [16 x bfloat] come from conversion of __A.
163
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS512
164
+ _mm512_maskz_cvtneps_pbh(__mmask16 __U, __m512 __A) {
165
+ return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
166
+ (__v16bf)_mm256_setzero_si256(),
167
+ (__mmask16)__U);
168
+ }
169
+
170
+ /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
171
+ ///
172
+ /// \headerfile <x86intrin.h>
173
+ ///
174
+ /// This intrinsic corresponds to the <c> VDPBF16PS </c> instructions.
175
+ ///
176
+ /// \param __A
177
+ /// A 512-bit vector of [32 x bfloat].
178
+ /// \param __B
179
+ /// A 512-bit vector of [32 x bfloat].
180
+ /// \param __D
181
+ /// A 512-bit vector of [16 x float].
182
+ /// \returns A 512-bit vector of [16 x float] comes from Dot Product of
183
+ /// __A, __B and __D
184
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
185
+ _mm512_dpbf16_ps(__m512 __D, __m512bh __A, __m512bh __B) {
186
+ return (__m512)__builtin_ia32_dpbf16ps_512((__v16sf) __D,
187
+ (__v32bf) __A,
188
+ (__v32bf) __B);
189
+ }
190
+
191
+ /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
192
+ ///
193
+ /// \headerfile <x86intrin.h>
194
+ ///
195
+ /// This intrinsic corresponds to the <c> VDPBF16PS </c> instructions.
196
+ ///
197
+ /// \param __A
198
+ /// A 512-bit vector of [32 x bfloat].
199
+ /// \param __B
200
+ /// A 512-bit vector of [32 x bfloat].
201
+ /// \param __D
202
+ /// A 512-bit vector of [16 x float].
203
+ /// \param __U
204
+ /// A 16-bit mask value specifying what is chosen for each element.
205
+ /// A 1 means __A and __B's dot product accumulated with __D. A 0 means __D.
206
+ /// \returns A 512-bit vector of [16 x float] comes from Dot Product of
207
+ /// __A, __B and __D
208
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
209
+ _mm512_mask_dpbf16_ps(__m512 __D, __mmask16 __U, __m512bh __A, __m512bh __B) {
210
+ return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
211
+ (__v16sf)_mm512_dpbf16_ps(__D, __A, __B),
212
+ (__v16sf)__D);
213
+ }
214
+
215
+ /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
216
+ ///
217
+ /// \headerfile <x86intrin.h>
218
+ ///
219
+ /// This intrinsic corresponds to the <c> VDPBF16PS </c> instructions.
220
+ ///
221
+ /// \param __A
222
+ /// A 512-bit vector of [32 x bfloat].
223
+ /// \param __B
224
+ /// A 512-bit vector of [32 x bfloat].
225
+ /// \param __D
226
+ /// A 512-bit vector of [16 x float].
227
+ /// \param __U
228
+ /// A 16-bit mask value specifying what is chosen for each element.
229
+ /// A 1 means __A and __B's dot product accumulated with __D. A 0 means 0.
230
+ /// \returns A 512-bit vector of [16 x float] comes from Dot Product of
231
+ /// __A, __B and __D
232
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
233
+ _mm512_maskz_dpbf16_ps(__mmask16 __U, __m512 __D, __m512bh __A, __m512bh __B) {
234
+ return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
235
+ (__v16sf)_mm512_dpbf16_ps(__D, __A, __B),
236
+ (__v16sf)_mm512_setzero_si512());
237
+ }
238
+
239
+ /// Convert Packed BF16 Data to Packed float Data.
240
+ ///
241
+ /// \headerfile <x86intrin.h>
242
+ ///
243
+ /// \param __A
244
+ /// A 256-bit vector of [16 x bfloat].
245
+ /// \returns A 512-bit vector of [16 x float] come from conversion of __A
246
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
247
+ _mm512_cvtpbh_ps(__m256bh __A) {
248
+ return (__m512) __builtin_convertvector(__A, __v16sf);
249
+ }
250
+
251
+ /// Convert Packed BF16 Data to Packed float Data using zeroing mask.
252
+ ///
253
+ /// \headerfile <x86intrin.h>
254
+ ///
255
+ /// \param __U
256
+ /// A 16-bit mask. Elements are zeroed out when the corresponding mask
257
+ /// bit is not set.
258
+ /// \param __A
259
+ /// A 256-bit vector of [16 x bfloat].
260
+ /// \returns A 512-bit vector of [16 x float] come from conversion of __A
261
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
262
+ _mm512_maskz_cvtpbh_ps(__mmask16 __U, __m256bh __A) {
263
+ return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
264
+ (__v16sf)_mm512_cvtpbh_ps(__A),
265
+ (__v16sf)_mm512_setzero_ps());
266
+ }
267
+
268
+ /// Convert Packed BF16 Data to Packed float Data using merging mask.
269
+ ///
270
+ /// \headerfile <x86intrin.h>
271
+ ///
272
+ /// \param __S
273
+ /// A 512-bit vector of [16 x float]. Elements are copied from __S when
274
+ /// the corresponding mask bit is not set.
275
+ /// \param __U
276
+ /// A 16-bit mask.
277
+ /// \param __A
278
+ /// A 256-bit vector of [16 x bfloat].
279
+ /// \returns A 512-bit vector of [16 x float] come from conversion of __A
280
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
281
+ _mm512_mask_cvtpbh_ps(__m512 __S, __mmask16 __U, __m256bh __A) {
282
+ return (__m512)__builtin_ia32_selectps_512(
283
+ (__mmask16)__U, (__v16sf)_mm512_cvtpbh_ps(__A), (__v16sf)__S);
284
+ }
285
+
286
+ #undef __DEFAULT_FN_ATTRS
287
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
288
+ #undef __DEFAULT_FN_ATTRS512
289
+ #undef __DEFAULT_FN_ATTRS512_CONSTEXPR
290
+
291
+ #endif
292
+ #endif
@@ -0,0 +1,75 @@
1
+ /*===------------- avx512bitalgintrin.h - BITALG 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 <avx512bitalgintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVX512BITALGINTRIN_H
15
+ #define __AVX512BITALGINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
19
+ #define __DEFAULT_FN_ATTRS \
20
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bitalg"), \
21
+ __min_vector_width__(512))) constexpr
22
+ #else
23
+ #define __DEFAULT_FN_ATTRS \
24
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bitalg"), \
25
+ __min_vector_width__(512)))
26
+ #endif
27
+
28
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi16(__m512i __A) {
29
+ return (__m512i)__builtin_elementwise_popcount((__v32hu)__A);
30
+ }
31
+
32
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
33
+ _mm512_mask_popcnt_epi16(__m512i __A, __mmask32 __U, __m512i __B) {
34
+ return (__m512i)__builtin_ia32_selectw_512(
35
+ (__mmask32)__U, (__v32hi)_mm512_popcnt_epi16(__B), (__v32hi)__A);
36
+ }
37
+
38
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
39
+ _mm512_maskz_popcnt_epi16(__mmask32 __U, __m512i __B) {
40
+ return _mm512_mask_popcnt_epi16((__m512i)_mm512_setzero_si512(), __U, __B);
41
+ }
42
+
43
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi8(__m512i __A) {
44
+ return (__m512i)__builtin_elementwise_popcount((__v64qu)__A);
45
+ }
46
+
47
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
48
+ _mm512_mask_popcnt_epi8(__m512i __A, __mmask64 __U, __m512i __B) {
49
+ return (__m512i)__builtin_ia32_selectb_512(
50
+ (__mmask64)__U, (__v64qi)_mm512_popcnt_epi8(__B), (__v64qi)__A);
51
+ }
52
+
53
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
54
+ _mm512_maskz_popcnt_epi8(__mmask64 __U, __m512i __B) {
55
+ return _mm512_mask_popcnt_epi8((__m512i)_mm512_setzero_si512(), __U, __B);
56
+ }
57
+
58
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
59
+ _mm512_mask_bitshuffle_epi64_mask(__mmask64 __U, __m512i __A, __m512i __B)
60
+ {
61
+ return (__mmask64) __builtin_ia32_vpshufbitqmb512_mask((__v64qi) __A,
62
+ (__v64qi) __B,
63
+ __U);
64
+ }
65
+
66
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
67
+ _mm512_bitshuffle_epi64_mask(__m512i __A, __m512i __B)
68
+ {
69
+ return _mm512_mask_bitshuffle_epi64_mask((__mmask64) -1,
70
+ __A,
71
+ __B);
72
+ }
73
+
74
+ #undef __DEFAULT_FN_ATTRS
75
+ #endif