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,376 @@
1
+ /*===----------- avx10_2satcvtdsintrin.h - AVX512SATCVTDS 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 \
12
+ "Never use <avx10_2satcvtdsintrin.h> directly; include <immintrin.h> instead."
13
+ #endif // __IMMINTRIN_H
14
+
15
+ #ifndef __AVX10_2SATCVTDSINTRIN_H
16
+ #define __AVX10_2SATCVTDSINTRIN_H
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #define __DEFAULT_FN_ATTRS256 \
20
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
21
+ __min_vector_width__(256)))
22
+
23
+ #define __DEFAULT_FN_ATTRS128 \
24
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
25
+ __min_vector_width__(128)))
26
+
27
+ #define _mm_cvtts_roundsd_i32(__A, __R) \
28
+ ((int)__builtin_ia32_vcvttsd2sis32((__v2df)(__m128)(__A), (const int)(__R)))
29
+
30
+ #define _mm_cvtts_roundsd_si32(__A, __R) \
31
+ ((int)__builtin_ia32_vcvttsd2sis32((__v2df)(__m128d)(__A), (const int)(__R)))
32
+
33
+ #define _mm_cvtts_roundsd_u32(__A, __R) \
34
+ ((unsigned int)__builtin_ia32_vcvttsd2usis32((__v2df)(__m128d)(__A), \
35
+ (const int)(__R)))
36
+
37
+ #define _mm_cvtts_roundss_i32(__A, __R) \
38
+ ((int)__builtin_ia32_vcvttss2sis32((__v4sf)(__m128)(__A), (const int)(__R)))
39
+
40
+ #define _mm_cvtts_roundss_si32(__A, __R) \
41
+ ((int)__builtin_ia32_vcvttss2sis32((__v4sf)(__m128)(__A), (const int)(__R)))
42
+
43
+ #define _mm_cvtts_roundss_u32(__A, __R) \
44
+ ((unsigned int)__builtin_ia32_vcvttss2usis32((__v4sf)(__m128)(__A), \
45
+ (const int)(__R)))
46
+
47
+ #ifdef __x86_64__
48
+ #define _mm_cvtts_roundss_u64(__A, __R) \
49
+ ((unsigned long long)__builtin_ia32_vcvttss2usis64((__v4sf)(__m128)(__A), \
50
+ (const int)(__R)))
51
+
52
+ #define _mm_cvtts_roundsd_u64(__A, __R) \
53
+ ((unsigned long long)__builtin_ia32_vcvttsd2usis64((__v2df)(__m128d)(__A), \
54
+ (const int)(__R)))
55
+
56
+ #define _mm_cvtts_roundss_i64(__A, __R) \
57
+ ((long long)__builtin_ia32_vcvttss2sis64((__v4sf)(__m128)(__A), \
58
+ (const int)(__R)))
59
+
60
+ #define _mm_cvtts_roundss_si64(__A, __R) \
61
+ ((long long)__builtin_ia32_vcvttss2sis64((__v4sf)(__m128)(__A), \
62
+ (const int)(__R)))
63
+
64
+ #define _mm_cvtts_roundsd_si64(__A, __R) \
65
+ ((long long)__builtin_ia32_vcvttsd2sis64((__v2df)(__m128d)(__A), \
66
+ (const int)(__R)))
67
+
68
+ #define _mm_cvtts_roundsd_i64(__A, __R) \
69
+ ((long long)__builtin_ia32_vcvttsd2sis64((__v2df)(__m128d)(__A), \
70
+ (const int)(__R)))
71
+ #endif /* __x86_64__ */
72
+
73
+ // 128 Bit : Double -> int
74
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
75
+ _mm_cvtts_pd_epi32(__m128d __A) {
76
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask(
77
+ (__v2df)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1)));
78
+ }
79
+
80
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
81
+ _mm_mask_cvtts_pd_epi32(__m128i __W, __mmask8 __U, __m128d __A) {
82
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask((__v2df)__A, (__v4si)__W,
83
+ __U));
84
+ }
85
+
86
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
87
+ _mm_maskz_cvtts_pd_epi32(__mmask16 __U, __m128d __A) {
88
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs128_mask(
89
+ (__v2df)__A, (__v4si)(__m128i)_mm_setzero_si128(), __U));
90
+ }
91
+
92
+ // 256 Bit : Double -> int
93
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
94
+ _mm256_cvtts_pd_epi32(__m256d __A) {
95
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask(
96
+ (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1));
97
+ }
98
+
99
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
100
+ _mm256_mask_cvtts_pd_epi32(__m128i __W, __mmask8 __U, __m256d __A) {
101
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask((__v4df)__A, (__v4si)__W,
102
+ __U));
103
+ }
104
+
105
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
106
+ _mm256_maskz_cvtts_pd_epi32(__mmask8 __U, __m256d __A) {
107
+ return ((__m128i)__builtin_ia32_vcvttpd2dqs256_mask(
108
+ (__v4df)__A, (__v4si)_mm_setzero_si128(), __U));
109
+ }
110
+
111
+ // 128 Bit : Double -> uint
112
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
113
+ _mm_cvtts_pd_epu32(__m128d __A) {
114
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask(
115
+ (__v2df)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1)));
116
+ }
117
+
118
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
119
+ _mm_mask_cvtts_pd_epu32(__m128i __W, __mmask8 __U, __m128d __A) {
120
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask(
121
+ (__v2df)__A, (__v4si)(__m128i)__W, (__mmask8)__U));
122
+ }
123
+
124
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
125
+ _mm_maskz_cvtts_pd_epu32(__mmask8 __U, __m128d __A) {
126
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs128_mask(
127
+ (__v2df)__A, (__v4si)(__m128i)_mm_setzero_si128(), __U));
128
+ }
129
+
130
+ // 256 Bit : Double -> uint
131
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
132
+ _mm256_cvtts_pd_epu32(__m256d __A) {
133
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask(
134
+ (__v4df)__A, (__v4si)_mm_undefined_si128(), (__mmask8)-1));
135
+ }
136
+
137
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
138
+ _mm256_mask_cvtts_pd_epu32(__m128i __W, __mmask8 __U, __m256d __A) {
139
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask((__v4df)__A, (__v4si)__W,
140
+ __U));
141
+ }
142
+
143
+ static __inline__ __m128i __DEFAULT_FN_ATTRS256
144
+ _mm256_maskz_cvtts_pd_epu32(__mmask8 __U, __m256d __A) {
145
+ return ((__m128i)__builtin_ia32_vcvttpd2udqs256_mask(
146
+ (__v4df)__A, (__v4si)_mm_setzero_si128(), __U));
147
+ }
148
+
149
+ // 128 Bit : Double -> long
150
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
151
+ _mm_cvtts_pd_epi64(__m128d __A) {
152
+ return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask(
153
+ (__v2df)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1));
154
+ }
155
+
156
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
157
+ _mm_mask_cvtts_pd_epi64(__m128i __W, __mmask8 __U, __m128d __A) {
158
+ return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask((__v2df)__A, (__v2di)__W,
159
+ (__mmask8)__U));
160
+ }
161
+
162
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
163
+ _mm_maskz_cvtts_pd_epi64(__mmask8 __U, __m128d __A) {
164
+ return ((__m128i)__builtin_ia32_vcvttpd2qqs128_mask(
165
+ (__v2df)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U));
166
+ }
167
+
168
+ // 256 Bit : Double -> long
169
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
170
+ _mm256_cvtts_pd_epi64(__m256d __A) {
171
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask(
172
+ (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
173
+ }
174
+
175
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
176
+ _mm256_mask_cvtts_pd_epi64(__m256i __W, __mmask8 __U, __m256d __A) {
177
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask((__v4df)__A, (__v4di)__W,
178
+ __U));
179
+ }
180
+
181
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
182
+ _mm256_maskz_cvtts_pd_epi64(__mmask8 __U, __m256d __A) {
183
+ return ((__m256i)__builtin_ia32_vcvttpd2qqs256_mask(
184
+ (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U));
185
+ }
186
+
187
+ // 128 Bit : Double -> ulong
188
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
189
+ _mm_cvtts_pd_epu64(__m128d __A) {
190
+ return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask(
191
+ (__v2df)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1));
192
+ }
193
+
194
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
195
+ _mm_mask_cvtts_pd_epu64(__m128i __W, __mmask8 __U, __m128d __A) {
196
+ return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask((__v2df)__A, (__v2di)__W,
197
+ (__mmask8)__U));
198
+ }
199
+
200
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
201
+ _mm_maskz_cvtts_pd_epu64(__mmask8 __U, __m128d __A) {
202
+ return ((__m128i)__builtin_ia32_vcvttpd2uqqs128_mask(
203
+ (__v2df)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U));
204
+ }
205
+
206
+ // 256 Bit : Double -> ulong
207
+
208
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
209
+ _mm256_cvtts_pd_epu64(__m256d __A) {
210
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask(
211
+ (__v4df)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
212
+ }
213
+
214
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
215
+ _mm256_mask_cvtts_pd_epu64(__m256i __W, __mmask8 __U, __m256d __A) {
216
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask((__v4df)__A, (__v4di)__W,
217
+ __U));
218
+ }
219
+
220
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
221
+ _mm256_maskz_cvtts_pd_epu64(__mmask8 __U, __m256d __A) {
222
+ return ((__m256i)__builtin_ia32_vcvttpd2uqqs256_mask(
223
+ (__v4df)__A, (__v4di)_mm256_setzero_si256(), __U));
224
+ }
225
+
226
+ // 128 Bit : float -> int
227
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epi32(__m128 __A) {
228
+ return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask(
229
+ (__v4sf)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1)));
230
+ }
231
+
232
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
233
+ _mm_mask_cvtts_ps_epi32(__m128i __W, __mmask8 __U, __m128 __A) {
234
+ return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask((__v4sf)__A, (__v4si)__W,
235
+ (__mmask8)__U));
236
+ }
237
+
238
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
239
+ _mm_maskz_cvtts_ps_epi32(__mmask8 __U, __m128 __A) {
240
+ return ((__m128i)__builtin_ia32_vcvttps2dqs128_mask(
241
+ (__v4sf)__A, (__v4si)(__m128i)_mm_setzero_si128(), (__mmask8)__U));
242
+ }
243
+
244
+ // 256 Bit : float -> int
245
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
246
+ _mm256_cvtts_ps_epi32(__m256 __A) {
247
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask(
248
+ (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1));
249
+ }
250
+
251
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
252
+ _mm256_mask_cvtts_ps_epi32(__m256i __W, __mmask8 __U, __m256 __A) {
253
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask((__v8sf)__A, (__v8si)__W,
254
+ __U));
255
+ }
256
+
257
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
258
+ _mm256_maskz_cvtts_ps_epi32(__mmask8 __U, __m256 __A) {
259
+ return ((__m256i)__builtin_ia32_vcvttps2dqs256_mask(
260
+ (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U));
261
+ }
262
+
263
+ // 128 Bit : float -> uint
264
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epu32(__m128 __A) {
265
+ return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask(
266
+ (__v4sf)__A, (__v4si)(__m128i)_mm_undefined_si128(), (__mmask8)(-1)));
267
+ }
268
+
269
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
270
+ _mm_mask_cvtts_ps_epu32(__m128i __W, __mmask8 __U, __m128 __A) {
271
+ return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask((__v4sf)__A, (__v4si)__W,
272
+ (__mmask8)__U));
273
+ }
274
+
275
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
276
+ _mm_maskz_cvtts_ps_epu32(__mmask8 __U, __m128 __A) {
277
+ return ((__m128i)__builtin_ia32_vcvttps2udqs128_mask(
278
+ (__v4sf)__A, (__v4si)_mm_setzero_si128(), (__mmask8)__U));
279
+ }
280
+
281
+ // 256 Bit : float -> uint
282
+
283
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
284
+ _mm256_cvtts_ps_epu32(__m256 __A) {
285
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask(
286
+ (__v8sf)__A, (__v8si)_mm256_undefined_si256(), (__mmask8)-1));
287
+ }
288
+
289
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
290
+ _mm256_mask_cvtts_ps_epu32(__m256i __W, __mmask8 __U, __m256 __A) {
291
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask((__v8sf)__A, (__v8si)__W,
292
+ __U));
293
+ }
294
+
295
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
296
+ _mm256_maskz_cvtts_ps_epu32(__mmask8 __U, __m256 __A) {
297
+ return ((__m256i)__builtin_ia32_vcvttps2udqs256_mask(
298
+ (__v8sf)__A, (__v8si)_mm256_setzero_si256(), __U));
299
+ }
300
+
301
+ // 128 bit : float -> long
302
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epi64(__m128 __A) {
303
+ return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask(
304
+ (__v4sf)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1));
305
+ }
306
+
307
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
308
+ _mm_mask_cvtts_ps_epi64(__m128i __W, __mmask8 __U, __m128 __A) {
309
+ return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask(
310
+ (__v4sf)__A, (__v2di)(__m128i)__W, (__mmask8)__U));
311
+ }
312
+
313
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
314
+ _mm_maskz_cvtts_ps_epi64(__mmask8 __U, __m128 __A) {
315
+ return ((__m128i)__builtin_ia32_vcvttps2qqs128_mask(
316
+ (__v4sf)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U));
317
+ }
318
+ // 256 bit : float -> long
319
+
320
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
321
+ _mm256_cvtts_ps_epi64(__m128 __A) {
322
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask(
323
+ (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
324
+ }
325
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
326
+ _mm256_mask_cvtts_ps_epi64(__m256i __W, __mmask8 __U, __m128 __A) {
327
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask((__v4sf)__A, (__v4di)__W,
328
+ __U));
329
+ }
330
+
331
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
332
+ _mm256_maskz_cvtts_ps_epi64(__mmask8 __U, __m128 __A) {
333
+ return ((__m256i)__builtin_ia32_vcvttps2qqs256_mask(
334
+ (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U));
335
+ }
336
+
337
+ // 128 bit : float -> ulong
338
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_cvtts_ps_epu64(__m128 __A) {
339
+ return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask(
340
+ (__v4sf)__A, (__v2di)_mm_undefined_si128(), (__mmask8)-1));
341
+ }
342
+
343
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
344
+ _mm_mask_cvtts_ps_epu64(__m128i __W, __mmask8 __U, __m128 __A) {
345
+ return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask(
346
+ (__v4sf)__A, (__v2di)(__m128i)__W, (__mmask8)__U));
347
+ }
348
+
349
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
350
+ _mm_maskz_cvtts_ps_epu64(__mmask8 __U, __m128 __A) {
351
+ return ((__m128i)__builtin_ia32_vcvttps2uqqs128_mask(
352
+ (__v4sf)__A, (__v2di)_mm_setzero_si128(), (__mmask8)__U));
353
+ }
354
+ // 256 bit : float -> ulong
355
+
356
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
357
+ _mm256_cvtts_ps_epu64(__m128 __A) {
358
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask(
359
+ (__v4sf)__A, (__v4di)_mm256_undefined_si256(), (__mmask8)-1));
360
+ }
361
+
362
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
363
+ _mm256_mask_cvtts_ps_epu64(__m256i __W, __mmask8 __U, __m128 __A) {
364
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask((__v4sf)__A, (__v4di)__W,
365
+ __U));
366
+ }
367
+
368
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
369
+ _mm256_maskz_cvtts_ps_epu64(__mmask8 __U, __m128 __A) {
370
+ return ((__m256i)__builtin_ia32_vcvttps2uqqs256_mask(
371
+ (__v4sf)__A, (__v4di)_mm256_setzero_si256(), __U));
372
+ }
373
+
374
+ #undef __DEFAULT_FN_ATTRS128
375
+ #undef __DEFAULT_FN_ATTRS256
376
+ #endif // __AVX10_2SATCVTDSINTRIN_H
@@ -0,0 +1,312 @@
1
+ /*===----------- avx10_2satcvtintrin.h - AVX10_2SATCVT 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 \
11
+ "Never use <avx10_2satcvtintrin.h> directly; include <immintrin.h> instead."
12
+ #endif // __IMMINTRIN_H
13
+
14
+ #ifndef __AVX10_2SATCVTINTRIN_H
15
+ #define __AVX10_2SATCVTINTRIN_H
16
+
17
+ #define _mm_ipcvts_bf16_epi8(A) \
18
+ ((__m128i)__builtin_ia32_vcvtbf162ibs128((__v8bf)(__m128bh)(A)))
19
+
20
+ #define _mm_mask_ipcvts_bf16_epi8(W, U, A) \
21
+ ((__m128i)__builtin_ia32_selectw_128( \
22
+ (__mmask8)(U), (__v8hi)_mm_ipcvts_bf16_epi8(A), (__v8hi)(__m128i)(W)))
23
+
24
+ #define _mm_maskz_ipcvts_bf16_epi8(U, A) \
25
+ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
26
+ (__v8hi)_mm_ipcvts_bf16_epi8(A), \
27
+ (__v8hi)_mm_setzero_si128()))
28
+
29
+ #define _mm256_ipcvts_bf16_epi8(A) \
30
+ ((__m256i)__builtin_ia32_vcvtbf162ibs256((__v16bf)(__m256bh)(A)))
31
+
32
+ #define _mm256_mask_ipcvts_bf16_epi8(W, U, A) \
33
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
34
+ (__v16hi)_mm256_ipcvts_bf16_epi8(A), \
35
+ (__v16hi)(__m256i)(W)))
36
+
37
+ #define _mm256_maskz_ipcvts_bf16_epi8(U, A) \
38
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
39
+ (__v16hi)_mm256_ipcvts_bf16_epi8(A), \
40
+ (__v16hi)_mm256_setzero_si256()))
41
+
42
+ #define _mm_ipcvts_bf16_epu8(A) \
43
+ ((__m128i)__builtin_ia32_vcvtbf162iubs128((__v8bf)(__m128bh)(A)))
44
+
45
+ #define _mm_mask_ipcvts_bf16_epu8(W, U, A) \
46
+ ((__m128i)__builtin_ia32_selectw_128( \
47
+ (__mmask8)(U), (__v8hi)_mm_ipcvts_bf16_epu8(A), (__v8hi)(__m128i)(W)))
48
+
49
+ #define _mm_maskz_ipcvts_bf16_epu8(U, A) \
50
+ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
51
+ (__v8hi)_mm_ipcvts_bf16_epu8(A), \
52
+ (__v8hi)_mm_setzero_si128()))
53
+
54
+ #define _mm256_ipcvts_bf16_epu8(A) \
55
+ ((__m256i)__builtin_ia32_vcvtbf162iubs256((__v16bf)(__m256bh)(A)))
56
+
57
+ #define _mm256_mask_ipcvts_bf16_epu8(W, U, A) \
58
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
59
+ (__v16hi)_mm256_ipcvts_bf16_epu8(A), \
60
+ (__v16hi)(__m256i)(W)))
61
+
62
+ #define _mm256_maskz_ipcvts_bf16_epu8(U, A) \
63
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
64
+ (__v16hi)_mm256_ipcvts_bf16_epu8(A), \
65
+ (__v16hi)_mm256_setzero_si256()))
66
+
67
+ #define _mm_ipcvts_ph_epi8(A) \
68
+ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask( \
69
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
70
+
71
+ #define _mm_mask_ipcvts_ph_epi8(W, U, A) \
72
+ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask((__v8hf)(__m128h)(A), \
73
+ (__v8hu)(W), (__mmask8)(U)))
74
+
75
+ #define _mm_maskz_ipcvts_ph_epi8(U, A) \
76
+ ((__m128i)__builtin_ia32_vcvtph2ibs128_mask( \
77
+ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U)))
78
+
79
+ #define _mm256_ipcvts_ph_epi8(A) \
80
+ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \
81
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
82
+
83
+ #define _mm256_mask_ipcvts_ph_epi8(W, U, A) \
84
+ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask((__v16hf)(__m256h)(A), \
85
+ (__v16hu)(W), (__mmask16)(U)))
86
+
87
+ #define _mm256_maskz_ipcvts_ph_epi8(U, A) \
88
+ ((__m256i)__builtin_ia32_vcvtph2ibs256_mask( \
89
+ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \
90
+ (__mmask16)(U)))
91
+
92
+ #define _mm_ipcvts_ph_epu8(A) \
93
+ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask( \
94
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
95
+
96
+ #define _mm_mask_ipcvts_ph_epu8(W, U, A) \
97
+ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask((__v8hf)(__m128h)(A), \
98
+ (__v8hu)(W), (__mmask8)(U)))
99
+
100
+ #define _mm_maskz_ipcvts_ph_epu8(U, A) \
101
+ ((__m128i)__builtin_ia32_vcvtph2iubs128_mask( \
102
+ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U)))
103
+
104
+ #define _mm256_ipcvts_ph_epu8(A) \
105
+ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
106
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
107
+
108
+ #define _mm256_mask_ipcvts_ph_epu8(W, U, A) \
109
+ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask((__v16hf)(__m256h)(A), \
110
+ (__v16hu)(W), (__mmask16)(U)))
111
+
112
+ #define _mm256_maskz_ipcvts_ph_epu8(U, A) \
113
+ ((__m256i)__builtin_ia32_vcvtph2iubs256_mask( \
114
+ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \
115
+ (__mmask16)(U)))
116
+
117
+ #define _mm_ipcvts_ps_epi8(A) \
118
+ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask( \
119
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
120
+
121
+ #define _mm_mask_ipcvts_ps_epi8(W, U, A) \
122
+ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask((__v4sf)(__m128)(A), \
123
+ (__v4su)(W), (__mmask8)(U)))
124
+
125
+ #define _mm_maskz_ipcvts_ps_epi8(U, A) \
126
+ ((__m128i)__builtin_ia32_vcvtps2ibs128_mask( \
127
+ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U)))
128
+
129
+ #define _mm256_ipcvts_ps_epi8(A) \
130
+ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \
131
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
132
+
133
+ #define _mm256_mask_ipcvts_ps_epi8(W, U, A) \
134
+ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask((__v8sf)(__m256)(A), \
135
+ (__v8su)(W), (__mmask8)(U)))
136
+
137
+ #define _mm256_maskz_ipcvts_ps_epi8(U, A) \
138
+ ((__m256i)__builtin_ia32_vcvtps2ibs256_mask( \
139
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
140
+
141
+ #define _mm_ipcvts_ps_epu8(A) \
142
+ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask( \
143
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
144
+
145
+ #define _mm_mask_ipcvts_ps_epu8(W, U, A) \
146
+ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask((__v4sf)(__m128)(A), \
147
+ (__v4su)(W), (__mmask8)(U)))
148
+
149
+ #define _mm_maskz_ipcvts_ps_epu8(U, A) \
150
+ ((__m128i)__builtin_ia32_vcvtps2iubs128_mask( \
151
+ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U)))
152
+
153
+ #define _mm256_ipcvts_ps_epu8(A) \
154
+ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \
155
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
156
+
157
+ #define _mm256_mask_ipcvts_ps_epu8(W, U, A) \
158
+ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask((__v8sf)(__m256)(A), \
159
+ (__v8su)(W), (__mmask8)(U)))
160
+
161
+ #define _mm256_maskz_ipcvts_ps_epu8(U, A) \
162
+ ((__m256i)__builtin_ia32_vcvtps2iubs256_mask( \
163
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
164
+
165
+ #define _mm_ipcvtts_bf16_epi8(A) \
166
+ ((__m128i)__builtin_ia32_vcvttbf162ibs128((__v8bf)(__m128bh)(A)))
167
+
168
+ #define _mm_mask_ipcvtts_bf16_epi8(W, U, A) \
169
+ ((__m128i)__builtin_ia32_selectw_128( \
170
+ (__mmask8)(U), (__v8hi)_mm_ipcvtts_bf16_epi8(A), (__v8hi)(__m128i)(W)))
171
+
172
+ #define _mm_maskz_ipcvtts_bf16_epi8(U, A) \
173
+ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
174
+ (__v8hi)_mm_ipcvtts_bf16_epi8(A), \
175
+ (__v8hi)_mm_setzero_si128()))
176
+
177
+ #define _mm256_ipcvtts_bf16_epi8(A) \
178
+ ((__m256i)__builtin_ia32_vcvttbf162ibs256((__v16bf)(__m256bh)(A)))
179
+
180
+ #define _mm256_mask_ipcvtts_bf16_epi8(W, U, A) \
181
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
182
+ (__v16hi)_mm256_ipcvtts_bf16_epi8(A), \
183
+ (__v16hi)(__m256i)(W)))
184
+
185
+ #define _mm256_maskz_ipcvtts_bf16_epi8(U, A) \
186
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
187
+ (__v16hi)_mm256_ipcvtts_bf16_epi8(A), \
188
+ (__v16hi)_mm256_setzero_si256()))
189
+
190
+ #define _mm_ipcvtts_bf16_epu8(A) \
191
+ ((__m128i)__builtin_ia32_vcvttbf162iubs128((__v8bf)(__m128bh)(A)))
192
+
193
+ #define _mm_mask_ipcvtts_bf16_epu8(W, U, A) \
194
+ ((__m128i)__builtin_ia32_selectw_128( \
195
+ (__mmask8)(U), (__v8hi)_mm_ipcvtts_bf16_epu8(A), (__v8hi)(__m128i)(W)))
196
+
197
+ #define _mm_maskz_ipcvtts_bf16_epu8(U, A) \
198
+ ((__m128i)__builtin_ia32_selectw_128((__mmask8)(U), \
199
+ (__v8hi)_mm_ipcvtts_bf16_epu8(A), \
200
+ (__v8hi)_mm_setzero_si128()))
201
+
202
+ #define _mm256_ipcvtts_bf16_epu8(A) \
203
+ ((__m256i)__builtin_ia32_vcvttbf162iubs256((__v16bf)(__m256bh)(A)))
204
+
205
+ #define _mm256_mask_ipcvtts_bf16_epu8(W, U, A) \
206
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
207
+ (__v16hi)_mm256_ipcvtts_bf16_epu8(A), \
208
+ (__v16hi)(__m256i)(W)))
209
+
210
+ #define _mm256_maskz_ipcvtts_bf16_epu8(U, A) \
211
+ ((__m256i)__builtin_ia32_selectw_256((__mmask16)(U), \
212
+ (__v16hi)_mm256_ipcvtts_bf16_epu8(A), \
213
+ (__v16hi)_mm256_setzero_si256()))
214
+
215
+ #define _mm_ipcvtts_ph_epi8(A) \
216
+ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask( \
217
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
218
+
219
+ #define _mm_mask_ipcvtts_ph_epi8(W, U, A) \
220
+ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask((__v8hf)(__m128h)(A), \
221
+ (__v8hu)(W), (__mmask8)(U)))
222
+
223
+ #define _mm_maskz_ipcvtts_ph_epi8(U, A) \
224
+ ((__m128i)__builtin_ia32_vcvttph2ibs128_mask( \
225
+ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U)))
226
+
227
+ #define _mm256_ipcvtts_ph_epi8(A) \
228
+ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
229
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
230
+
231
+ #define _mm256_mask_ipcvtts_ph_epi8(W, U, A) \
232
+ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask((__v16hf)(__m256h)(A), \
233
+ (__v16hu)(W), (__mmask16)(U)))
234
+
235
+ #define _mm256_maskz_ipcvtts_ph_epi8(U, A) \
236
+ ((__m256i)__builtin_ia32_vcvttph2ibs256_mask( \
237
+ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \
238
+ (__mmask16)(U)))
239
+
240
+ #define _mm_ipcvtts_ph_epu8(A) \
241
+ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask( \
242
+ (__v8hf)(__m128h)(A), (__v8hu)_mm_setzero_si128(), (__mmask8)-1))
243
+
244
+ #define _mm_mask_ipcvtts_ph_epu8(W, U, A) \
245
+ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask((__v8hf)(__m128h)(A), \
246
+ (__v8hu)(W), (__mmask8)(U)))
247
+
248
+ #define _mm_maskz_ipcvtts_ph_epu8(U, A) \
249
+ ((__m128i)__builtin_ia32_vcvttph2iubs128_mask( \
250
+ (__v8hf)(__m128h)(A), (__v8hu)(_mm_setzero_si128()), (__mmask8)(U)))
251
+
252
+ #define _mm256_ipcvtts_ph_epu8(A) \
253
+ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
254
+ (__v16hf)(__m256h)(A), (__v16hu)_mm256_setzero_si256(), (__mmask16)-1))
255
+
256
+ #define _mm256_mask_ipcvtts_ph_epu8(W, U, A) \
257
+ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask((__v16hf)(__m256h)(A), \
258
+ (__v16hu)(W), (__mmask16)(U)))
259
+
260
+ #define _mm256_maskz_ipcvtts_ph_epu8(U, A) \
261
+ ((__m256i)__builtin_ia32_vcvttph2iubs256_mask( \
262
+ (__v16hf)(__m256h)(A), (__v16hu)(_mm256_setzero_si256()), \
263
+ (__mmask16)(U)))
264
+
265
+ #define _mm_ipcvtts_ps_epi8(A) \
266
+ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask( \
267
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
268
+
269
+ #define _mm_mask_ipcvtts_ps_epi8(W, U, A) \
270
+ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask((__v4sf)(__m128)(A), \
271
+ (__v4su)(W), (__mmask8)(U)))
272
+
273
+ #define _mm_maskz_ipcvtts_ps_epi8(U, A) \
274
+ ((__m128i)__builtin_ia32_vcvttps2ibs128_mask( \
275
+ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U)))
276
+
277
+ #define _mm256_ipcvtts_ps_epi8(A) \
278
+ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \
279
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
280
+
281
+ #define _mm256_mask_ipcvtts_ps_epi8(W, U, A) \
282
+ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask((__v8sf)(__m256)(A), \
283
+ (__v8su)(W), (__mmask8)(U)))
284
+
285
+ #define _mm256_maskz_ipcvtts_ps_epi8(U, A) \
286
+ ((__m256i)__builtin_ia32_vcvttps2ibs256_mask( \
287
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
288
+
289
+ #define _mm_ipcvtts_ps_epu8(A) \
290
+ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask( \
291
+ (__v4sf)(__m128)(A), (__v4su)_mm_setzero_si128(), (__mmask8)-1))
292
+
293
+ #define _mm_mask_ipcvtts_ps_epu8(W, U, A) \
294
+ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask((__v4sf)(__m128)(A), \
295
+ (__v4su)(W), (__mmask8)(U)))
296
+
297
+ #define _mm_maskz_ipcvtts_ps_epu8(U, A) \
298
+ ((__m128i)__builtin_ia32_vcvttps2iubs128_mask( \
299
+ (__v4sf)(__m128)(A), (__v4su)(_mm_setzero_si128()), (__mmask8)(U)))
300
+
301
+ #define _mm256_ipcvtts_ps_epu8(A) \
302
+ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
303
+ (__v8sf)(__m256)(A), (__v8su)_mm256_setzero_si256(), (__mmask8)-1))
304
+
305
+ #define _mm256_mask_ipcvtts_ps_epu8(W, U, A) \
306
+ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask((__v8sf)(__m256)(A), \
307
+ (__v8su)(W), (__mmask8)(U)))
308
+
309
+ #define _mm256_maskz_ipcvtts_ps_epu8(U, A) \
310
+ ((__m256i)__builtin_ia32_vcvttps2iubs256_mask( \
311
+ (__v8sf)(__m256)(A), (__v8su)(_mm256_setzero_si256()), (__mmask8)(U)))
312
+ #endif // __AVX10_2SATCVTINTRIN_H