llvm-runtime-resources-darwin 0.0.0 → 23.1.0

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 (372) 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 +236 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +975 -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 +289 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +526 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_gpu_builtin_vars.h +71 -0
  14. package/include/__clang_gpu_device_functions.h +411 -0
  15. package/include/__clang_gpu_intrinsics.h +242 -0
  16. package/include/__clang_hip_cmath.h +848 -0
  17. package/include/__clang_hip_libdevice_declares.h +238 -0
  18. package/include/__clang_hip_math.h +1405 -0
  19. package/include/__clang_hip_runtime_wrapper.h +170 -0
  20. package/include/__clang_hip_stdlib.h +43 -0
  21. package/include/__clang_spirv_builtins.h +217 -0
  22. package/include/__clang_spirv_libdevice_declares.h +170 -0
  23. package/include/__clang_spirv_math.h +719 -0
  24. package/include/__float_float.h +176 -0
  25. package/include/__float_header_macro.h +12 -0
  26. package/include/__float_infinity_nan.h +20 -0
  27. package/include/__stdarg___gnuc_va_list.h +13 -0
  28. package/include/__stdarg___va_copy.h +12 -0
  29. package/include/__stdarg_header_macro.h +12 -0
  30. package/include/__stdarg_va_arg.h +22 -0
  31. package/include/__stdarg_va_copy.h +12 -0
  32. package/include/__stdarg_va_list.h +13 -0
  33. package/include/__stddef_header_macro.h +12 -0
  34. package/include/__stddef_max_align_t.h +27 -0
  35. package/include/__stddef_null.h +29 -0
  36. package/include/__stddef_nullptr_t.h +29 -0
  37. package/include/__stddef_offsetof.h +17 -0
  38. package/include/__stddef_ptrdiff_t.h +20 -0
  39. package/include/__stddef_rsize_t.h +20 -0
  40. package/include/__stddef_size_t.h +20 -0
  41. package/include/__stddef_unreachable.h +21 -0
  42. package/include/__stddef_wchar_t.h +28 -0
  43. package/include/__stddef_wint_t.h +15 -0
  44. package/include/__wmmintrin_aes.h +140 -0
  45. package/include/__wmmintrin_pclmul.h +48 -0
  46. package/include/adcintrin.h +165 -0
  47. package/include/adxintrin.h +107 -0
  48. package/include/altivec.h +19434 -0
  49. package/include/amdgpuintrin.h +164 -0
  50. package/include/amdhsa_abi.h +83 -0
  51. package/include/ammintrin.h +183 -0
  52. package/include/amo.h +220 -0
  53. package/include/amxavx512intrin.h +596 -0
  54. package/include/amxcomplexintrin.h +167 -0
  55. package/include/amxfp16intrin.h +93 -0
  56. package/include/amxfp8intrin.h +230 -0
  57. package/include/amxintrin.h +492 -0
  58. package/include/amxmovrsintrin.h +48 -0
  59. package/include/andes_vector.h +21 -0
  60. package/include/arm64_neon.h +21 -0
  61. package/include/arm64intr.h +45 -0
  62. package/include/arm_acle.h +866 -0
  63. package/include/arm_bf16.h +20 -0
  64. package/include/arm_cde.h +410 -0
  65. package/include/arm_cmse.h +217 -0
  66. package/include/arm_fp16.h +596 -0
  67. package/include/arm_mve.h +19187 -0
  68. package/include/arm_neon.h +74351 -0
  69. package/include/arm_neon_sve_bridge.h +182 -0
  70. package/include/arm_sme.h +3753 -0
  71. package/include/arm_sve.h +32698 -0
  72. package/include/arm_vector_types.h +432 -0
  73. package/include/armintr.h +31 -0
  74. package/include/avx10_2_512bf16intrin.h +568 -0
  75. package/include/avx10_2_512convertintrin.h +322 -0
  76. package/include/avx10_2_512minmaxintrin.h +127 -0
  77. package/include/avx10_2_512niintrin.h +314 -0
  78. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  79. package/include/avx10_2_512satcvtintrin.h +301 -0
  80. package/include/avx10_2bf16intrin.h +1094 -0
  81. package/include/avx10_2convertintrin.h +3257 -0
  82. package/include/avx10_2copyintrin.h +66 -0
  83. package/include/avx10_2minmaxintrin.h +232 -0
  84. package/include/avx10_2niintrin.h +409 -0
  85. package/include/avx10_2satcvtdsintrin.h +376 -0
  86. package/include/avx10_2satcvtintrin.h +312 -0
  87. package/include/avx2intrin.h +5190 -0
  88. package/include/avx512bf16intrin.h +292 -0
  89. package/include/avx512bitalgintrin.h +75 -0
  90. package/include/avx512bmmintrin.h +174 -0
  91. package/include/avx512bmmvlintrin.h +245 -0
  92. package/include/avx512bwintrin.h +1885 -0
  93. package/include/avx512cdintrin.h +112 -0
  94. package/include/avx512dqintrin.h +1350 -0
  95. package/include/avx512fintrin.h +9351 -0
  96. package/include/avx512fp16intrin.h +3349 -0
  97. package/include/avx512ifmaintrin.h +68 -0
  98. package/include/avx512ifmavlintrin.h +138 -0
  99. package/include/avx512vbmi2intrin.h +364 -0
  100. package/include/avx512vbmiintrin.h +98 -0
  101. package/include/avx512vbmivlintrin.h +179 -0
  102. package/include/avx512vlbf16intrin.h +527 -0
  103. package/include/avx512vlbitalgintrin.h +135 -0
  104. package/include/avx512vlbwintrin.h +3052 -0
  105. package/include/avx512vlcdintrin.h +202 -0
  106. package/include/avx512vldqintrin.h +1156 -0
  107. package/include/avx512vlfp16intrin.h +2090 -0
  108. package/include/avx512vlintrin.h +8067 -0
  109. package/include/avx512vlvbmi2intrin.h +702 -0
  110. package/include/avx512vlvnniintrin.h +308 -0
  111. package/include/avx512vlvp2intersectintrin.h +123 -0
  112. package/include/avx512vnniintrin.h +113 -0
  113. package/include/avx512vp2intersectintrin.h +77 -0
  114. package/include/avx512vpopcntdqintrin.h +62 -0
  115. package/include/avx512vpopcntdqvlintrin.h +105 -0
  116. package/include/avxifmaintrin.h +193 -0
  117. package/include/avxintrin.h +5064 -0
  118. package/include/avxneconvertintrin.h +484 -0
  119. package/include/avxvnniint16intrin.h +451 -0
  120. package/include/avxvnniint8intrin.h +454 -0
  121. package/include/avxvnniintrin.h +238 -0
  122. package/include/bmi2intrin.h +253 -0
  123. package/include/bmiintrin.h +604 -0
  124. package/include/builtins.h +19 -0
  125. package/include/cet.h +66 -0
  126. package/include/cetintrin.h +115 -0
  127. package/include/cldemoteintrin.h +36 -0
  128. package/include/clflushoptintrin.h +36 -0
  129. package/include/clwbintrin.h +38 -0
  130. package/include/clzerointrin.h +38 -0
  131. package/include/cmpccxaddintrin.h +70 -0
  132. package/include/cpuid.h +451 -0
  133. package/include/crc32intrin.h +102 -0
  134. package/include/cuda_wrappers/__utility/declval.h +28 -0
  135. package/include/cuda_wrappers/algorithm +116 -0
  136. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  137. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  138. package/include/cuda_wrappers/bits/c++config.h +61 -0
  139. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  140. package/include/cuda_wrappers/cmath +44 -0
  141. package/include/cuda_wrappers/complex +90 -0
  142. package/include/cuda_wrappers/new +108 -0
  143. package/include/emmintrin.h +4940 -0
  144. package/include/endian.h +91 -0
  145. package/include/enqcmdintrin.h +63 -0
  146. package/include/f16cintrin.h +176 -0
  147. package/include/float.h +48 -0
  148. package/include/fma4intrin.h +220 -0
  149. package/include/fmaintrin.h +826 -0
  150. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  151. package/include/fxsrintrin.h +91 -0
  152. package/include/gfniintrin.h +238 -0
  153. package/include/gpuintrin.h +348 -0
  154. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  155. package/include/hexagon_protos.h +8439 -0
  156. package/include/hexagon_types.h +2628 -0
  157. package/include/hlsl_alias_intrinsics_gen.inc +3869 -0
  158. package/include/hlsl_inline_intrinsics_gen.inc +546 -0
  159. package/include/hresetintrin.h +49 -0
  160. package/include/htmintrin.h +212 -0
  161. package/include/htmxlintrin.h +345 -0
  162. package/include/hvx_hexagon_protos.h +5421 -0
  163. package/include/ia32intrin.h +863 -0
  164. package/include/immintrin.h +597 -0
  165. package/include/intrin.h +501 -0
  166. package/include/intrin0.h +256 -0
  167. package/include/inttypes.h +101 -0
  168. package/include/invpcidintrin.h +23 -0
  169. package/include/iso646.h +31 -0
  170. package/include/keylockerintrin.h +518 -0
  171. package/include/larchintrin.h +262 -0
  172. package/include/lasxintrin.h +3999 -0
  173. package/include/limits.h +133 -0
  174. package/include/llvm_libc_wrappers/assert.h +32 -0
  175. package/include/llvm_libc_wrappers/ctype.h +29 -0
  176. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  177. package/include/llvm_libc_wrappers/stdio.h +52 -0
  178. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  179. package/include/llvm_libc_wrappers/string.h +29 -0
  180. package/include/llvm_libc_wrappers/time.h +28 -0
  181. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  182. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  183. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  184. package/include/lsxintrin.h +3752 -0
  185. package/include/lwpintrin.h +136 -0
  186. package/include/lzcntintrin.h +109 -0
  187. package/include/mm3dnow.h +22 -0
  188. package/include/mm_malloc.h +67 -0
  189. package/include/mmintrin.h +1541 -0
  190. package/include/module.modulemap +375 -0
  191. package/include/movdirintrin.h +49 -0
  192. package/include/movrs_avx10_2_512intrin.h +98 -0
  193. package/include/movrs_avx10_2intrin.h +174 -0
  194. package/include/movrsintrin.h +59 -0
  195. package/include/msa.h +573 -0
  196. package/include/mwaitxintrin.h +62 -0
  197. package/include/nmmintrin.h +20 -0
  198. package/include/nvptxintrin.h +208 -0
  199. package/include/opencl-c-base.h +765 -0
  200. package/include/opencl-c.h +18737 -0
  201. package/include/openmp_wrappers/__clang_openmp_device_functions.h +118 -0
  202. package/include/openmp_wrappers/cmath +132 -0
  203. package/include/openmp_wrappers/complex +61 -0
  204. package/include/openmp_wrappers/complex.h +41 -0
  205. package/include/openmp_wrappers/complex_cmath.h +393 -0
  206. package/include/openmp_wrappers/math.h +71 -0
  207. package/include/openmp_wrappers/new +48 -0
  208. package/include/pconfigintrin.h +40 -0
  209. package/include/pkuintrin.h +34 -0
  210. package/include/pmmintrin.h +302 -0
  211. package/include/popcntintrin.h +59 -0
  212. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  213. package/include/ppc_wrappers/bmiintrin.h +165 -0
  214. package/include/ppc_wrappers/emmintrin.h +2269 -0
  215. package/include/ppc_wrappers/immintrin.h +27 -0
  216. package/include/ppc_wrappers/mm_malloc.h +45 -0
  217. package/include/ppc_wrappers/mmintrin.h +1453 -0
  218. package/include/ppc_wrappers/nmmintrin.h +26 -0
  219. package/include/ppc_wrappers/pmmintrin.h +145 -0
  220. package/include/ppc_wrappers/smmintrin.h +683 -0
  221. package/include/ppc_wrappers/tmmintrin.h +453 -0
  222. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  223. package/include/ppc_wrappers/x86intrin.h +28 -0
  224. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  225. package/include/prfchiintrin.h +61 -0
  226. package/include/prfchwintrin.h +57 -0
  227. package/include/profile/InstrProfData.inc +1063 -0
  228. package/include/profile/instr_prof_interface.h +88 -0
  229. package/include/ptrauth.h +485 -0
  230. package/include/ptwriteintrin.h +37 -0
  231. package/include/raointintrin.h +203 -0
  232. package/include/rdpruintrin.h +57 -0
  233. package/include/rdseedintrin.h +105 -0
  234. package/include/riscv_bitmanip.h +202 -0
  235. package/include/riscv_corev_alu.h +130 -0
  236. package/include/riscv_crypto.h +178 -0
  237. package/include/riscv_mips.h +36 -0
  238. package/include/riscv_nds.h +92 -0
  239. package/include/riscv_ntlh.h +28 -0
  240. package/include/riscv_packed_simd.h +644 -0
  241. package/include/riscv_vector.h +465 -0
  242. package/include/rtmintrin.h +45 -0
  243. package/include/s390intrin.h +25 -0
  244. package/include/sanitizer/allocator_interface.h +106 -0
  245. package/include/sanitizer/asan_interface.h +398 -0
  246. package/include/sanitizer/common_interface_defs.h +507 -0
  247. package/include/sanitizer/coverage_interface.h +36 -0
  248. package/include/sanitizer/dfsan_interface.h +220 -0
  249. package/include/sanitizer/hwasan_interface.h +109 -0
  250. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  251. package/include/sanitizer/lsan_interface.h +89 -0
  252. package/include/sanitizer/msan_interface.h +135 -0
  253. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  254. package/include/sanitizer/rtsan_interface.h +75 -0
  255. package/include/sanitizer/safestack_interface.h +50 -0
  256. package/include/sanitizer/scudo_interface.h +38 -0
  257. package/include/sanitizer/tsan_interface.h +316 -0
  258. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  259. package/include/sanitizer/tysan_interface.h +36 -0
  260. package/include/sanitizer/ubsan_interface.h +64 -0
  261. package/include/serializeintrin.h +30 -0
  262. package/include/sgxintrin.h +60 -0
  263. package/include/sha512intrin.h +200 -0
  264. package/include/shaintrin.h +190 -0
  265. package/include/sifive_vector.h +192 -0
  266. package/include/sm3intrin.h +238 -0
  267. package/include/sm4evexintrin.h +32 -0
  268. package/include/sm4intrin.h +269 -0
  269. package/include/smmintrin.h +2352 -0
  270. package/include/spirvintrin.h +167 -0
  271. package/include/stdalign.h +24 -0
  272. package/include/stdarg.h +75 -0
  273. package/include/stdatomic.h +204 -0
  274. package/include/stdbool.h +39 -0
  275. package/include/stdckdint.h +42 -0
  276. package/include/stdcountof.h +15 -0
  277. package/include/stddef.h +139 -0
  278. package/include/stddefer.h +19 -0
  279. package/include/stdint.h +835 -0
  280. package/include/stdnoreturn.h +35 -0
  281. package/include/tbmintrin.h +128 -0
  282. package/include/tgmath.h +1368 -0
  283. package/include/tmmintrin.h +779 -0
  284. package/include/tsxldtrkintrin.h +56 -0
  285. package/include/uintrintrin.h +157 -0
  286. package/include/unwind.h +332 -0
  287. package/include/usermsrintrin.h +51 -0
  288. package/include/vadefs.h +51 -0
  289. package/include/vaesintrin.h +86 -0
  290. package/include/varargs.h +16 -0
  291. package/include/vecintrin.h +12868 -0
  292. package/include/velintrin.h +71 -0
  293. package/include/velintrin_approx.h +120 -0
  294. package/include/velintrin_gen.h +1257 -0
  295. package/include/vpclmulqdqintrin.h +30 -0
  296. package/include/waitpkgintrin.h +42 -0
  297. package/include/wasm_simd128.h +2160 -0
  298. package/include/wbnoinvdintrin.h +24 -0
  299. package/include/wmmintrin.h +23 -0
  300. package/include/x86gprintrin.h +49 -0
  301. package/include/x86intrin.h +35 -0
  302. package/include/xmmintrin.h +3176 -0
  303. package/include/xopintrin.h +780 -0
  304. package/include/xsavecintrin.h +84 -0
  305. package/include/xsaveintrin.h +63 -0
  306. package/include/xsaveoptintrin.h +34 -0
  307. package/include/xsavesintrin.h +44 -0
  308. package/include/xtestintrin.h +27 -0
  309. package/include/yvals_core.h +25 -0
  310. package/include/zos_wrappers/builtins.h +18 -0
  311. package/include/zos_wrappers/grp.h +19 -0
  312. package/include/zos_wrappers/locale.h +19 -0
  313. package/include/zos_wrappers/math.h +31 -0
  314. package/include/zos_wrappers/poll.h +19 -0
  315. package/include/zos_wrappers/stdlib.h +20 -0
  316. package/include/zos_wrappers/string.h +19 -0
  317. package/include/zos_wrappers/time.h +19 -0
  318. package/include/zos_wrappers/variant.h +19 -0
  319. package/index.js +5 -0
  320. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  321. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  322. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  323. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  324. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  327. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  329. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  330. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  331. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  332. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  333. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  334. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  335. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  336. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  337. package/lib/darwin/libclang_rt.ios.a +0 -0
  338. package/lib/darwin/libclang_rt.iossim.a +0 -0
  339. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  342. package/lib/darwin/libclang_rt.osx.a +0 -0
  343. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  344. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  345. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  348. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  349. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  350. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  351. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  352. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  353. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  354. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  355. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  356. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  357. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  358. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  359. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  360. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  361. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  362. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  363. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  364. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  365. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  366. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  367. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  368. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  369. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  370. package/package.json +40 -1
  371. package/share/asan_ignorelist.txt +14 -0
  372. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,62 @@
1
+ /*===----- avx512vpopcntdqintrin.h - AVX512VPOPCNTDQ 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 \
12
+ "Never use <avx512vpopcntdqintrin.h> directly; include <immintrin.h> instead."
13
+ #endif
14
+
15
+ #ifndef __AVX512VPOPCNTDQINTRIN_H
16
+ #define __AVX512VPOPCNTDQINTRIN_H
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
20
+ #define __DEFAULT_FN_ATTRS \
21
+ __attribute__((__always_inline__, __nodebug__, \
22
+ __target__("avx512vpopcntdq"), \
23
+ __min_vector_width__(512))) constexpr
24
+ #else
25
+ #define __DEFAULT_FN_ATTRS \
26
+ __attribute__((__always_inline__, __nodebug__, \
27
+ __target__("avx512vpopcntdq"), __min_vector_width__(512)))
28
+ #endif
29
+
30
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi64(__m512i __A) {
31
+ return (__m512i)__builtin_elementwise_popcount((__v8du)__A);
32
+ }
33
+
34
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
35
+ _mm512_mask_popcnt_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
36
+ return (__m512i)__builtin_ia32_selectq_512(
37
+ (__mmask8)__U, (__v8di)_mm512_popcnt_epi64(__A), (__v8di)__W);
38
+ }
39
+
40
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
41
+ _mm512_maskz_popcnt_epi64(__mmask8 __U, __m512i __A) {
42
+ return _mm512_mask_popcnt_epi64((__m512i)_mm512_setzero_si512(), __U, __A);
43
+ }
44
+
45
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi32(__m512i __A) {
46
+ return (__m512i)__builtin_elementwise_popcount((__v16su)__A);
47
+ }
48
+
49
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
50
+ _mm512_mask_popcnt_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
51
+ return (__m512i)__builtin_ia32_selectd_512(
52
+ (__mmask16)__U, (__v16si)_mm512_popcnt_epi32(__A), (__v16si)__W);
53
+ }
54
+
55
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
56
+ _mm512_maskz_popcnt_epi32(__mmask16 __U, __m512i __A) {
57
+ return _mm512_mask_popcnt_epi32((__m512i)_mm512_setzero_si512(), __U, __A);
58
+ }
59
+
60
+ #undef __DEFAULT_FN_ATTRS
61
+
62
+ #endif
@@ -0,0 +1,105 @@
1
+ /*===---- avx512vpopcntdqintrin.h - AVX512VPOPCNTDQ 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 \
12
+ "Never use <avx512vpopcntdqvlintrin.h> directly; include <immintrin.h> instead."
13
+ #endif
14
+
15
+ #ifndef __AVX512VPOPCNTDQVLINTRIN_H
16
+ #define __AVX512VPOPCNTDQVLINTRIN_H
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+
20
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
21
+ #define __DEFAULT_FN_ATTRS128 \
22
+ __attribute__((__always_inline__, __nodebug__, \
23
+ __target__("avx512vpopcntdq,avx512vl"), \
24
+ __min_vector_width__(128))) constexpr
25
+ #define __DEFAULT_FN_ATTRS256 \
26
+ __attribute__((__always_inline__, __nodebug__, \
27
+ __target__("avx512vpopcntdq,avx512vl"), \
28
+ __min_vector_width__(256))) constexpr
29
+ #else
30
+ #define __DEFAULT_FN_ATTRS128 \
31
+ __attribute__((__always_inline__, __nodebug__, \
32
+ __target__("avx512vpopcntdq,avx512vl"), \
33
+ __min_vector_width__(128)))
34
+ #define __DEFAULT_FN_ATTRS256 \
35
+ __attribute__((__always_inline__, __nodebug__, \
36
+ __target__("avx512vpopcntdq,avx512vl"), \
37
+ __min_vector_width__(256)))
38
+ #endif
39
+
40
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi64(__m128i __A) {
41
+ return (__m128i)__builtin_elementwise_popcount((__v2du)__A);
42
+ }
43
+
44
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
45
+ _mm_mask_popcnt_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
46
+ return (__m128i)__builtin_ia32_selectq_128(
47
+ (__mmask8)__U, (__v2di)_mm_popcnt_epi64(__A), (__v2di)__W);
48
+ }
49
+
50
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
51
+ _mm_maskz_popcnt_epi64(__mmask8 __U, __m128i __A) {
52
+ return _mm_mask_popcnt_epi64((__m128i)_mm_setzero_si128(), __U, __A);
53
+ }
54
+
55
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi32(__m128i __A) {
56
+ return (__m128i)__builtin_elementwise_popcount((__v4su)__A);
57
+ }
58
+
59
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
60
+ _mm_mask_popcnt_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
61
+ return (__m128i)__builtin_ia32_selectd_128(
62
+ (__mmask8)__U, (__v4si)_mm_popcnt_epi32(__A), (__v4si)__W);
63
+ }
64
+
65
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
66
+ _mm_maskz_popcnt_epi32(__mmask8 __U, __m128i __A) {
67
+ return _mm_mask_popcnt_epi32((__m128i)_mm_setzero_si128(), __U, __A);
68
+ }
69
+
70
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
71
+ _mm256_popcnt_epi64(__m256i __A) {
72
+ return (__m256i)__builtin_elementwise_popcount((__v4du)__A);
73
+ }
74
+
75
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
76
+ _mm256_mask_popcnt_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
77
+ return (__m256i)__builtin_ia32_selectq_256(
78
+ (__mmask8)__U, (__v4di)_mm256_popcnt_epi64(__A), (__v4di)__W);
79
+ }
80
+
81
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
82
+ _mm256_maskz_popcnt_epi64(__mmask8 __U, __m256i __A) {
83
+ return _mm256_mask_popcnt_epi64((__m256i)_mm256_setzero_si256(), __U, __A);
84
+ }
85
+
86
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
87
+ _mm256_popcnt_epi32(__m256i __A) {
88
+ return (__m256i)__builtin_elementwise_popcount((__v8su)__A);
89
+ }
90
+
91
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
92
+ _mm256_mask_popcnt_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
93
+ return (__m256i)__builtin_ia32_selectd_256(
94
+ (__mmask8)__U, (__v8si)_mm256_popcnt_epi32(__A), (__v8si)__W);
95
+ }
96
+
97
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
98
+ _mm256_maskz_popcnt_epi32(__mmask8 __U, __m256i __A) {
99
+ return _mm256_mask_popcnt_epi32((__m256i)_mm256_setzero_si256(), __U, __A);
100
+ }
101
+
102
+ #undef __DEFAULT_FN_ATTRS128
103
+ #undef __DEFAULT_FN_ATTRS256
104
+
105
+ #endif
@@ -0,0 +1,193 @@
1
+ /*===----------------- avxifmaintrin.h - IFMA 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 <avxifmaintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVXIFMAINTRIN_H
15
+ #define __AVXIFMAINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
19
+ #define __DEFAULT_FN_ATTRS128 \
20
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
21
+ __min_vector_width__(128))) constexpr
22
+ #define __DEFAULT_FN_ATTRS256 \
23
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
24
+ __min_vector_width__(256))) constexpr
25
+ #else
26
+ #define __DEFAULT_FN_ATTRS128 \
27
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
28
+ __min_vector_width__(128)))
29
+ #define __DEFAULT_FN_ATTRS256 \
30
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
31
+ __min_vector_width__(256)))
32
+ #endif
33
+
34
+ #if !defined(__AVX512IFMA__) && defined(__AVXIFMA__)
35
+ #define _mm_madd52hi_epu64(X, Y, Z) _mm_madd52hi_avx_epu64(X, Y, Z)
36
+ #define _mm_madd52lo_epu64(X, Y, Z) _mm_madd52lo_avx_epu64(X, Y, Z)
37
+ #define _mm256_madd52hi_epu64(X, Y, Z) _mm256_madd52hi_avx_epu64(X, Y, Z)
38
+ #define _mm256_madd52lo_epu64(X, Y, Z) _mm256_madd52lo_avx_epu64(X, Y, Z)
39
+ #endif
40
+
41
+ // must vex-encoding
42
+
43
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
44
+ /// and \a __Z to form a 104-bit intermediate result. Add the high 52-bit
45
+ /// unsigned integer from the intermediate result with the corresponding
46
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
47
+ ///
48
+ /// \headerfile <immintrin.h>
49
+ ///
50
+ /// \code
51
+ /// __m128i
52
+ /// _mm_madd52hi_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
53
+ /// \endcode
54
+ ///
55
+ /// This intrinsic corresponds to the \c VPMADD52HUQ instruction.
56
+ ///
57
+ /// \return
58
+ /// return __m128i dst.
59
+ /// \param __X
60
+ /// A 128-bit vector of [2 x i64]
61
+ /// \param __Y
62
+ /// A 128-bit vector of [2 x i64]
63
+ /// \param __Z
64
+ /// A 128-bit vector of [2 x i64]
65
+ ///
66
+ /// \code{.operation}
67
+ /// FOR j := 0 to 1
68
+ /// i := j*64
69
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
70
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
71
+ /// ENDFOR
72
+ /// dst[MAX:128] := 0
73
+ /// \endcode
74
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
75
+ _mm_madd52hi_avx_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
76
+ return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di)__X, (__v2di)__Y,
77
+ (__v2di)__Z);
78
+ }
79
+
80
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
81
+ /// and \a __Z to form a 104-bit intermediate result. Add the high 52-bit
82
+ /// unsigned integer from the intermediate result with the corresponding
83
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
84
+ ///
85
+ /// \headerfile <immintrin.h>
86
+ ///
87
+ /// \code
88
+ /// __m256i
89
+ /// _mm256_madd52hi_avx_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
90
+ /// \endcode
91
+ ///
92
+ /// This intrinsic corresponds to the \c VPMADD52HUQ instruction.
93
+ ///
94
+ /// \return
95
+ /// return __m256i dst.
96
+ /// \param __X
97
+ /// A 256-bit vector of [4 x i64]
98
+ /// \param __Y
99
+ /// A 256-bit vector of [4 x i64]
100
+ /// \param __Z
101
+ /// A 256-bit vector of [4 x i64]
102
+ ///
103
+ /// \code{.operation}
104
+ /// FOR j := 0 to 3
105
+ /// i := j*64
106
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
107
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
108
+ /// ENDFOR
109
+ /// dst[MAX:256] := 0
110
+ /// \endcode
111
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
112
+ _mm256_madd52hi_avx_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
113
+ return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
114
+ (__v4di)__Z);
115
+ }
116
+
117
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
118
+ /// and \a __Z to form a 104-bit intermediate result. Add the low 52-bit
119
+ /// unsigned integer from the intermediate result with the corresponding
120
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
121
+ ///
122
+ /// \headerfile <immintrin.h>
123
+ ///
124
+ /// \code
125
+ /// __m128i
126
+ /// _mm_madd52lo_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
127
+ /// \endcode
128
+ ///
129
+ /// This intrinsic corresponds to the \c VPMADD52LUQ instruction.
130
+ ///
131
+ /// \return
132
+ /// return __m128i dst.
133
+ /// \param __X
134
+ /// A 128-bit vector of [2 x i64]
135
+ /// \param __Y
136
+ /// A 128-bit vector of [2 x i64]
137
+ /// \param __Z
138
+ /// A 128-bit vector of [2 x i64]
139
+ ///
140
+ /// \code{.operation}
141
+ /// FOR j := 0 to 1
142
+ /// i := j*64
143
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
144
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
145
+ /// ENDFOR
146
+ /// dst[MAX:128] := 0
147
+ /// \endcode
148
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
149
+ _mm_madd52lo_avx_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
150
+ return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
151
+ (__v2di)__Z);
152
+ }
153
+
154
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
155
+ /// and \a __Z to form a 104-bit intermediate result. Add the low 52-bit
156
+ /// unsigned integer from the intermediate result with the corresponding
157
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
158
+ ///
159
+ /// \headerfile <immintrin.h>
160
+ ///
161
+ /// \code
162
+ /// __m256i
163
+ /// _mm256_madd52lo_avx_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
164
+ /// \endcode
165
+ ///
166
+ /// This intrinsic corresponds to the \c VPMADD52LUQ instruction.
167
+ ///
168
+ /// \return
169
+ /// return __m256i dst.
170
+ /// \param __X
171
+ /// A 256-bit vector of [4 x i64]
172
+ /// \param __Y
173
+ /// A 256-bit vector of [4 x i64]
174
+ /// \param __Z
175
+ /// A 256-bit vector of [4 x i64]
176
+ ///
177
+ /// \code{.operation}
178
+ /// FOR j := 0 to 3
179
+ /// i := j*64
180
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
181
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
182
+ /// ENDFOR
183
+ /// dst[MAX:256] := 0
184
+ /// \endcode
185
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
186
+ _mm256_madd52lo_avx_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
187
+ return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
188
+ (__v4di)__Z);
189
+ }
190
+ #undef __DEFAULT_FN_ATTRS128
191
+ #undef __DEFAULT_FN_ATTRS256
192
+
193
+ #endif // __AVXIFMAINTRIN_H