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,597 @@
1
+ /*===---- immintrin.h - Intel intrinsics -----------------------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __IMMINTRIN_H
11
+ #define __IMMINTRIN_H
12
+
13
+ #if !defined(__i386__) && !defined(__x86_64__)
14
+ #error "This header is only meant to be used on x86 and x64 architecture"
15
+ #endif
16
+
17
+ #include <x86gprintrin.h>
18
+
19
+ #include <mmintrin.h>
20
+
21
+ #include <xmmintrin.h>
22
+
23
+ #include <emmintrin.h>
24
+
25
+ #include <pmmintrin.h>
26
+
27
+ #include <tmmintrin.h>
28
+
29
+ #include <smmintrin.h>
30
+
31
+ #include <wmmintrin.h>
32
+
33
+ #include <clflushoptintrin.h>
34
+
35
+ #include <clwbintrin.h>
36
+
37
+ #include <avxintrin.h>
38
+
39
+ #include <avx2intrin.h>
40
+
41
+ #include <f16cintrin.h>
42
+
43
+ #include <bmiintrin.h>
44
+
45
+ #include <bmi2intrin.h>
46
+
47
+ #include <lzcntintrin.h>
48
+
49
+ #include <popcntintrin.h>
50
+
51
+ #include <fmaintrin.h>
52
+
53
+ #include <avx512fintrin.h>
54
+
55
+ #include <avx512vlintrin.h>
56
+
57
+ #include <avx512bwintrin.h>
58
+
59
+ #include <avx512bitalgintrin.h>
60
+
61
+ #include <avx512bmmintrin.h>
62
+
63
+ #include <avx512bmmvlintrin.h>
64
+
65
+ #include <avx512cdintrin.h>
66
+
67
+ #include <avx512vpopcntdqintrin.h>
68
+
69
+ #include <avx512vpopcntdqvlintrin.h>
70
+
71
+ #include <avx512vnniintrin.h>
72
+
73
+ #include <avx512vlvnniintrin.h>
74
+
75
+ #include <avxvnniintrin.h>
76
+
77
+ #include <avx512dqintrin.h>
78
+
79
+ #include <avx512vlbitalgintrin.h>
80
+
81
+ #include <avx512vlbwintrin.h>
82
+
83
+ #include <avx512vlcdintrin.h>
84
+
85
+ #include <avx512vldqintrin.h>
86
+
87
+ #include <avx512ifmaintrin.h>
88
+
89
+ #include <avx512ifmavlintrin.h>
90
+
91
+ #include <avxifmaintrin.h>
92
+
93
+ #include <avx512vbmiintrin.h>
94
+
95
+ #include <avx512vbmivlintrin.h>
96
+
97
+ #include <avx512vbmi2intrin.h>
98
+
99
+ #include <avx512vlvbmi2intrin.h>
100
+
101
+ #include <avx512fp16intrin.h>
102
+
103
+ #include <avx512vlfp16intrin.h>
104
+
105
+ #include <avx512bf16intrin.h>
106
+
107
+ #include <avx512vlbf16intrin.h>
108
+
109
+ #include <pkuintrin.h>
110
+
111
+ #include <vpclmulqdqintrin.h>
112
+
113
+ #include <vaesintrin.h>
114
+
115
+ #include <gfniintrin.h>
116
+
117
+ #include <avxvnniint8intrin.h>
118
+
119
+ #include <avxneconvertintrin.h>
120
+
121
+ #include <sha512intrin.h>
122
+
123
+ #include <sm3intrin.h>
124
+
125
+ #include <sm4intrin.h>
126
+
127
+ #include <avxvnniint16intrin.h>
128
+
129
+ /// Reads the value of the IA32_TSC_AUX MSR (0xc0000103).
130
+ ///
131
+ /// \headerfile <immintrin.h>
132
+ ///
133
+ /// This intrinsic corresponds to the <c> RDPID </c> instruction.
134
+ ///
135
+ /// \returns The 32-bit contents of the MSR.
136
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("rdpid")))
137
+ _rdpid_u32(void) {
138
+ return __builtin_ia32_rdpid();
139
+ }
140
+
141
+ /// Returns a 16-bit hardware-generated random value.
142
+ ///
143
+ /// \headerfile <immintrin.h>
144
+ ///
145
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
146
+ ///
147
+ /// \param __p
148
+ /// A pointer to a 16-bit memory location to place the random value.
149
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
150
+ static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
151
+ _rdrand16_step(unsigned short *__p)
152
+ {
153
+ return (int)__builtin_ia32_rdrand16_step(__p);
154
+ }
155
+
156
+ /// Returns a 32-bit hardware-generated random value.
157
+ ///
158
+ /// \headerfile <immintrin.h>
159
+ ///
160
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
161
+ ///
162
+ /// \param __p
163
+ /// A pointer to a 32-bit memory location to place the random value.
164
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
165
+ static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
166
+ _rdrand32_step(unsigned int *__p)
167
+ {
168
+ return (int)__builtin_ia32_rdrand32_step(__p);
169
+ }
170
+
171
+ /// Returns a 64-bit hardware-generated random value.
172
+ ///
173
+ /// \headerfile <immintrin.h>
174
+ ///
175
+ /// This intrinsic corresponds to the <c> RDRAND </c> instruction.
176
+ ///
177
+ /// \param __p
178
+ /// A pointer to a 64-bit memory location to place the random value.
179
+ /// \returns 1 if the value was successfully generated, 0 otherwise.
180
+ static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("rdrnd")))
181
+ _rdrand64_step(unsigned long long *__p)
182
+ {
183
+ #ifdef __x86_64__
184
+ return (int)__builtin_ia32_rdrand64_step(__p);
185
+ #else
186
+ // We need to emulate the functionality of 64-bit rdrand with 2 32-bit
187
+ // rdrand instructions.
188
+ unsigned int __lo, __hi;
189
+ unsigned int __res_lo = __builtin_ia32_rdrand32_step(&__lo);
190
+ unsigned int __res_hi = __builtin_ia32_rdrand32_step(&__hi);
191
+ if (__res_lo && __res_hi) {
192
+ *__p = ((unsigned long long)__hi << 32) | (unsigned long long)__lo;
193
+ return 1;
194
+ } else {
195
+ *__p = 0;
196
+ return 0;
197
+ }
198
+ #endif
199
+ }
200
+
201
+ #ifdef __x86_64__
202
+ /// Reads the FS base register.
203
+ ///
204
+ /// \headerfile <immintrin.h>
205
+ ///
206
+ /// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
207
+ ///
208
+ /// \returns The lower 32 bits of the FS base register.
209
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
210
+ _readfsbase_u32(void)
211
+ {
212
+ return __builtin_ia32_rdfsbase32();
213
+ }
214
+
215
+ /// Reads the FS base register.
216
+ ///
217
+ /// \headerfile <immintrin.h>
218
+ ///
219
+ /// This intrinsic corresponds to the <c> RDFSBASE </c> instruction.
220
+ ///
221
+ /// \returns The contents of the FS base register.
222
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
223
+ _readfsbase_u64(void)
224
+ {
225
+ return __builtin_ia32_rdfsbase64();
226
+ }
227
+
228
+ /// Reads the GS base register.
229
+ ///
230
+ /// \headerfile <immintrin.h>
231
+ ///
232
+ /// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
233
+ ///
234
+ /// \returns The lower 32 bits of the GS base register.
235
+ static __inline__ unsigned int __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
236
+ _readgsbase_u32(void)
237
+ {
238
+ return __builtin_ia32_rdgsbase32();
239
+ }
240
+
241
+ /// Reads the GS base register.
242
+ ///
243
+ /// \headerfile <immintrin.h>
244
+ ///
245
+ /// This intrinsic corresponds to the <c> RDGSBASE </c> instruction.
246
+ ///
247
+ /// \returns The contents of the GS base register.
248
+ static __inline__ unsigned long long __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
249
+ _readgsbase_u64(void)
250
+ {
251
+ return __builtin_ia32_rdgsbase64();
252
+ }
253
+
254
+ /// Modifies the FS base register.
255
+ ///
256
+ /// \headerfile <immintrin.h>
257
+ ///
258
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
259
+ ///
260
+ /// \param __V
261
+ /// Value to use for the lower 32 bits of the FS base register.
262
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
263
+ _writefsbase_u32(unsigned int __V)
264
+ {
265
+ __builtin_ia32_wrfsbase32(__V);
266
+ }
267
+
268
+ /// Modifies the FS base register.
269
+ ///
270
+ /// \headerfile <immintrin.h>
271
+ ///
272
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
273
+ ///
274
+ /// \param __V
275
+ /// Value to use for the FS base register.
276
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
277
+ _writefsbase_u64(unsigned long long __V)
278
+ {
279
+ __builtin_ia32_wrfsbase64(__V);
280
+ }
281
+
282
+ /// Modifies the GS base register.
283
+ ///
284
+ /// \headerfile <immintrin.h>
285
+ ///
286
+ /// This intrinsic corresponds to the <c> WRGSBASE </c> instruction.
287
+ ///
288
+ /// \param __V
289
+ /// Value to use for the lower 32 bits of the GS base register.
290
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
291
+ _writegsbase_u32(unsigned int __V)
292
+ {
293
+ __builtin_ia32_wrgsbase32(__V);
294
+ }
295
+
296
+ /// Modifies the GS base register.
297
+ ///
298
+ /// \headerfile <immintrin.h>
299
+ ///
300
+ /// This intrinsic corresponds to the <c> WRFSBASE </c> instruction.
301
+ ///
302
+ /// \param __V
303
+ /// Value to use for GS base register.
304
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("fsgsbase")))
305
+ _writegsbase_u64(unsigned long long __V)
306
+ {
307
+ __builtin_ia32_wrgsbase64(__V);
308
+ }
309
+
310
+ #endif
311
+
312
+ /* The structs used below are to force the load/store to be unaligned. This
313
+ * is accomplished with the __packed__ attribute. The __may_alias__ prevents
314
+ * tbaa metadata from being generated based on the struct and the type of the
315
+ * field inside of it.
316
+ */
317
+
318
+ /// Load a 16-bit value from memory and swap its bytes.
319
+ ///
320
+ /// \headerfile <x86intrin.h>
321
+ ///
322
+ /// This intrinsic corresponds to the MOVBE instruction.
323
+ ///
324
+ /// \param __P
325
+ /// A pointer to the 16-bit value to load.
326
+ /// \returns The byte-swapped value.
327
+ static __inline__ short __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
328
+ _loadbe_i16(void const * __P) {
329
+ struct __loadu_i16 {
330
+ unsigned short __v;
331
+ } __attribute__((__packed__, __may_alias__));
332
+ return (short)__builtin_bswap16(((const struct __loadu_i16*)__P)->__v);
333
+ }
334
+
335
+ /// Swap the bytes of a 16-bit value and store it to memory.
336
+ ///
337
+ /// \headerfile <x86intrin.h>
338
+ ///
339
+ /// This intrinsic corresponds to the MOVBE instruction.
340
+ ///
341
+ /// \param __P
342
+ /// A pointer to the memory for storing the swapped value.
343
+ /// \param __D
344
+ /// The 16-bit value to be byte-swapped.
345
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
346
+ _storebe_i16(void * __P, short __D) {
347
+ struct __storeu_i16 {
348
+ unsigned short __v;
349
+ } __attribute__((__packed__, __may_alias__));
350
+ ((struct __storeu_i16*)__P)->__v = __builtin_bswap16((unsigned short)__D);
351
+ }
352
+
353
+ /// Load a 32-bit value from memory and swap its bytes.
354
+ ///
355
+ /// \headerfile <x86intrin.h>
356
+ ///
357
+ /// This intrinsic corresponds to the MOVBE instruction.
358
+ ///
359
+ /// \param __P
360
+ /// A pointer to the 32-bit value to load.
361
+ /// \returns The byte-swapped value.
362
+ static __inline__ int __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
363
+ _loadbe_i32(void const * __P) {
364
+ struct __loadu_i32 {
365
+ unsigned int __v;
366
+ } __attribute__((__packed__, __may_alias__));
367
+ return (int)__builtin_bswap32(((const struct __loadu_i32*)__P)->__v);
368
+ }
369
+
370
+ /// Swap the bytes of a 32-bit value and store it to memory.
371
+ ///
372
+ /// \headerfile <x86intrin.h>
373
+ ///
374
+ /// This intrinsic corresponds to the MOVBE instruction.
375
+ ///
376
+ /// \param __P
377
+ /// A pointer to the memory for storing the swapped value.
378
+ /// \param __D
379
+ /// The 32-bit value to be byte-swapped.
380
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
381
+ _storebe_i32(void * __P, int __D) {
382
+ struct __storeu_i32 {
383
+ unsigned int __v;
384
+ } __attribute__((__packed__, __may_alias__));
385
+ ((struct __storeu_i32*)__P)->__v = __builtin_bswap32((unsigned int)__D);
386
+ }
387
+
388
+ #ifdef __x86_64__
389
+ /// Load a 64-bit value from memory and swap its bytes.
390
+ ///
391
+ /// \headerfile <x86intrin.h>
392
+ ///
393
+ /// This intrinsic corresponds to the MOVBE instruction.
394
+ ///
395
+ /// \param __P
396
+ /// A pointer to the 64-bit value to load.
397
+ /// \returns The byte-swapped value.
398
+ static __inline__ long long __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
399
+ _loadbe_i64(void const * __P) {
400
+ struct __loadu_i64 {
401
+ unsigned long long __v;
402
+ } __attribute__((__packed__, __may_alias__));
403
+ return (long long)__builtin_bswap64(((const struct __loadu_i64*)__P)->__v);
404
+ }
405
+
406
+ /// Swap the bytes of a 64-bit value and store it to memory.
407
+ ///
408
+ /// \headerfile <x86intrin.h>
409
+ ///
410
+ /// This intrinsic corresponds to the MOVBE instruction.
411
+ ///
412
+ /// \param __P
413
+ /// A pointer to the memory for storing the swapped value.
414
+ /// \param __D
415
+ /// The 64-bit value to be byte-swapped.
416
+ static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("movbe")))
417
+ _storebe_i64(void * __P, long long __D) {
418
+ struct __storeu_i64 {
419
+ unsigned long long __v;
420
+ } __attribute__((__packed__, __may_alias__));
421
+ ((struct __storeu_i64*)__P)->__v = __builtin_bswap64((unsigned long long)__D);
422
+ }
423
+ #endif
424
+
425
+ #include <rtmintrin.h>
426
+ #include <xtestintrin.h>
427
+
428
+ #include <shaintrin.h>
429
+
430
+ #include <fxsrintrin.h>
431
+
432
+ /* No feature check desired due to internal MSC_VER checks */
433
+ #include <xsaveintrin.h>
434
+
435
+ #include <xsaveoptintrin.h>
436
+
437
+ #include <xsavecintrin.h>
438
+
439
+ #include <xsavesintrin.h>
440
+
441
+ #include <cetintrin.h>
442
+
443
+ /* Intrinsics inside adcintrin.h are available at all times. */
444
+ #include <adcintrin.h>
445
+
446
+ #include <adxintrin.h>
447
+
448
+ #include <rdseedintrin.h>
449
+
450
+ #include <wbnoinvdintrin.h>
451
+
452
+ #include <cldemoteintrin.h>
453
+
454
+ #include <waitpkgintrin.h>
455
+
456
+ #include <movdirintrin.h>
457
+
458
+ #include <movrsintrin.h>
459
+
460
+ #include <movrs_avx10_2intrin.h>
461
+
462
+ #include <movrs_avx10_2_512intrin.h>
463
+
464
+ #include <pconfigintrin.h>
465
+
466
+ #include <sgxintrin.h>
467
+
468
+ #include <ptwriteintrin.h>
469
+
470
+ #include <invpcidintrin.h>
471
+
472
+ #include <keylockerintrin.h>
473
+
474
+ #include <amxintrin.h>
475
+
476
+ #include <amxfp16intrin.h>
477
+
478
+ #include <amxcomplexintrin.h>
479
+
480
+ #include <amxfp8intrin.h>
481
+
482
+ #include <amxmovrsintrin.h>
483
+
484
+ #include <amxavx512intrin.h>
485
+
486
+ #include <avx512vp2intersectintrin.h>
487
+
488
+ #include <avx512vlvp2intersectintrin.h>
489
+
490
+ #include <avx10_2bf16intrin.h>
491
+ #include <avx10_2convertintrin.h>
492
+ #include <avx10_2copyintrin.h>
493
+ #include <avx10_2minmaxintrin.h>
494
+ #include <avx10_2niintrin.h>
495
+ #include <avx10_2satcvtdsintrin.h>
496
+ #include <avx10_2satcvtintrin.h>
497
+
498
+ #include <avx10_2_512bf16intrin.h>
499
+ #include <avx10_2_512convertintrin.h>
500
+ #include <avx10_2_512minmaxintrin.h>
501
+ #include <avx10_2_512niintrin.h>
502
+ #include <avx10_2_512satcvtdsintrin.h>
503
+ #include <avx10_2_512satcvtintrin.h>
504
+
505
+ #include <sm4evexintrin.h>
506
+
507
+ #include <enqcmdintrin.h>
508
+
509
+ #include <serializeintrin.h>
510
+
511
+ #include <tsxldtrkintrin.h>
512
+
513
+ #if defined(_MSC_VER) && __has_extension(gnu_asm)
514
+ /* Define the default attributes for these intrinsics */
515
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
516
+ #ifdef __cplusplus
517
+ extern "C" {
518
+ #endif
519
+ /*----------------------------------------------------------------------------*\
520
+ |* Interlocked Exchange HLE
521
+ \*----------------------------------------------------------------------------*/
522
+ #if defined(__i386__) || defined(__x86_64__)
523
+ static __inline__ long __DEFAULT_FN_ATTRS
524
+ _InterlockedExchange_HLEAcquire(long volatile *_Target, long _Value) {
525
+ __asm__ __volatile__(".byte 0xf2 ; lock ; xchg {%0, %1|%1, %0}"
526
+ : "+r" (_Value), "+m" (*_Target) :: "memory");
527
+ return _Value;
528
+ }
529
+ static __inline__ long __DEFAULT_FN_ATTRS
530
+ _InterlockedExchange_HLERelease(long volatile *_Target, long _Value) {
531
+ __asm__ __volatile__(".byte 0xf3 ; lock ; xchg {%0, %1|%1, %0}"
532
+ : "+r" (_Value), "+m" (*_Target) :: "memory");
533
+ return _Value;
534
+ }
535
+ #endif
536
+ #if defined(__x86_64__)
537
+ static __inline__ __int64 __DEFAULT_FN_ATTRS
538
+ _InterlockedExchange64_HLEAcquire(__int64 volatile *_Target, __int64 _Value) {
539
+ __asm__ __volatile__(".byte 0xf2 ; lock ; xchg {%0, %1|%1, %0}"
540
+ : "+r" (_Value), "+m" (*_Target) :: "memory");
541
+ return _Value;
542
+ }
543
+ static __inline__ __int64 __DEFAULT_FN_ATTRS
544
+ _InterlockedExchange64_HLERelease(__int64 volatile *_Target, __int64 _Value) {
545
+ __asm__ __volatile__(".byte 0xf3 ; lock ; xchg {%0, %1|%1, %0}"
546
+ : "+r" (_Value), "+m" (*_Target) :: "memory");
547
+ return _Value;
548
+ }
549
+ #endif
550
+ /*----------------------------------------------------------------------------*\
551
+ |* Interlocked Compare Exchange HLE
552
+ \*----------------------------------------------------------------------------*/
553
+ #if defined(__i386__) || defined(__x86_64__)
554
+ static __inline__ long __DEFAULT_FN_ATTRS
555
+ _InterlockedCompareExchange_HLEAcquire(long volatile *_Destination,
556
+ long _Exchange, long _Comparand) {
557
+ __asm__ __volatile__(".byte 0xf2 ; lock ; cmpxchg {%2, %1|%1, %2}"
558
+ : "+a" (_Comparand), "+m" (*_Destination)
559
+ : "r" (_Exchange) : "memory");
560
+ return _Comparand;
561
+ }
562
+ static __inline__ long __DEFAULT_FN_ATTRS
563
+ _InterlockedCompareExchange_HLERelease(long volatile *_Destination,
564
+ long _Exchange, long _Comparand) {
565
+ __asm__ __volatile__(".byte 0xf3 ; lock ; cmpxchg {%2, %1|%1, %2}"
566
+ : "+a" (_Comparand), "+m" (*_Destination)
567
+ : "r" (_Exchange) : "memory");
568
+ return _Comparand;
569
+ }
570
+ #endif
571
+ #if defined(__x86_64__)
572
+ static __inline__ __int64 __DEFAULT_FN_ATTRS
573
+ _InterlockedCompareExchange64_HLEAcquire(__int64 volatile *_Destination,
574
+ __int64 _Exchange, __int64 _Comparand) {
575
+ __asm__ __volatile__(".byte 0xf2 ; lock ; cmpxchg {%2, %1|%1, %2}"
576
+ : "+a" (_Comparand), "+m" (*_Destination)
577
+ : "r" (_Exchange) : "memory");
578
+ return _Comparand;
579
+ }
580
+ static __inline__ __int64 __DEFAULT_FN_ATTRS
581
+ _InterlockedCompareExchange64_HLERelease(__int64 volatile *_Destination,
582
+ __int64 _Exchange, __int64 _Comparand) {
583
+ __asm__ __volatile__(".byte 0xf3 ; lock ; cmpxchg {%2, %1|%1, %2}"
584
+ : "+a" (_Comparand), "+m" (*_Destination)
585
+ : "r" (_Exchange) : "memory");
586
+ return _Comparand;
587
+ }
588
+ #endif
589
+ #ifdef __cplusplus
590
+ }
591
+ #endif
592
+
593
+ #undef __DEFAULT_FN_ATTRS
594
+
595
+ #endif /* defined(_MSC_VER) && __has_extension(gnu_asm) */
596
+
597
+ #endif /* __IMMINTRIN_H */