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,454 @@
1
+ /*===-------- avxvnniint8intrin.h - AVXVNNIINT8 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 <avxvnniint8intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVXVNNIINT8INTRIN_H
15
+ #define __AVXVNNIINT8INTRIN_H
16
+
17
+ // clang-format off
18
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
19
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
20
+ /// signed 16-bit results. Sum these 4 results with the corresponding
21
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
22
+ ///
23
+ /// \headerfile <x86intrin.h>
24
+ ///
25
+ /// \code
26
+ /// _mm_dpbssd_epi32(__m128i __W, __m128i __A, __m128i __B);
27
+ /// \endcode
28
+ ///
29
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
30
+ ///
31
+ /// \param __A
32
+ /// A 128-bit vector of [16 x char].
33
+ /// \param __B
34
+ /// A 128-bit vector of [16 x char].
35
+ /// \returns
36
+ /// A 128-bit vector of [4 x int].
37
+ ///
38
+ /// \code{.operation}
39
+ /// FOR j := 0 to 3
40
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
41
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
42
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
43
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
44
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
45
+ /// ENDFOR
46
+ /// dst[MAX:128] := 0
47
+ /// \endcode
48
+ // clang-format on
49
+ #define _mm_dpbssd_epi32(__W, __A, __B) \
50
+ ((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v16qi)(__A), \
51
+ (__v16qi)(__B)))
52
+
53
+ // clang-format off
54
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
55
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
56
+ /// signed 16-bit results. Sum these 4 results with the corresponding
57
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
58
+ ///
59
+ /// \headerfile <x86intrin.h>
60
+ ///
61
+ /// \code
62
+ /// _mm256_dpbssd_epi32(__m256i __W, __m256i __A, __m256i __B);
63
+ /// \endcode
64
+ ///
65
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
66
+ ///
67
+ /// \param __A
68
+ /// A 256-bit vector of [32 x char].
69
+ /// \param __B
70
+ /// A 256-bit vector of [32 x char].
71
+ /// \returns
72
+ /// A 256-bit vector of [8 x int].
73
+ ///
74
+ /// \code{.operation}
75
+ /// FOR j := 0 to 7
76
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
77
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
78
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
79
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
80
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
81
+ /// ENDFOR
82
+ /// dst[MAX:256] := 0
83
+ /// \endcode
84
+ // clang-format on
85
+ #define _mm256_dpbssd_epi32(__W, __A, __B) \
86
+ ((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v32qi)(__A), \
87
+ (__v32qi)(__B)))
88
+
89
+ // clang-format off
90
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
91
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
92
+ /// signed 16-bit results. Sum these 4 results with the corresponding
93
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
94
+ /// 32-bit results in \a dst.
95
+ ///
96
+ /// \headerfile <x86intrin.h>
97
+ ///
98
+ /// \code
99
+ /// _mm_dpbssds_epi32( __m128i __W, __m128i __A, __m128i __B);
100
+ /// \endcode
101
+ ///
102
+ /// This intrinsic corresponds to the \c VPDPBSSDS instruction.
103
+ ///
104
+ /// \param __A
105
+ /// A 128-bit vector of [16 x char].
106
+ /// \param __B
107
+ /// A 128-bit vector of [16 x char].
108
+ /// \returns
109
+ /// A 128-bit vector of [4 x int].
110
+ ///
111
+ /// \code{.operation}
112
+ /// FOR j := 0 to 3
113
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
114
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
115
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
116
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
117
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
118
+ /// ENDFOR
119
+ /// dst[MAX:128] := 0
120
+ /// \endcode
121
+ // clang-format on
122
+ #define _mm_dpbssds_epi32(__W, __A, __B) \
123
+ ((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v16qi)(__A), \
124
+ (__v16qi)(__B)))
125
+
126
+ // clang-format off
127
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
128
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
129
+ /// signed 16-bit results. Sum these 4 results with the corresponding
130
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
131
+ /// 32-bit results in \a dst.
132
+ ///
133
+ /// \headerfile <x86intrin.h>
134
+ ///
135
+ /// \code
136
+ /// _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B);
137
+ /// \endcode
138
+ ///
139
+ /// This intrinsic corresponds to the \c VPDPBSSDS instruction.
140
+ ///
141
+ /// \param __A
142
+ /// A 256-bit vector of [32 x char].
143
+ /// \param __B
144
+ /// A 256-bit vector of [32 x char].
145
+ /// \returns
146
+ /// A 256-bit vector of [8 x int].
147
+ ///
148
+ /// \code{.operation}
149
+ /// FOR j := 0 to 7
150
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
151
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
152
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
153
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
154
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
155
+ /// ENDFOR
156
+ /// dst[MAX:256] := 0
157
+ /// \endcode
158
+ // clang-format on
159
+ #define _mm256_dpbssds_epi32(__W, __A, __B) \
160
+ ((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v32qi)(__A), \
161
+ (__v32qi)(__B)))
162
+
163
+ // clang-format off
164
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
165
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
166
+ /// signed 16-bit results. Sum these 4 results with the corresponding
167
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
168
+ ///
169
+ /// \headerfile <x86intrin.h>
170
+ ///
171
+ /// \code
172
+ /// _mm_dpbsud_epi32(__m128i __W, __m128i __A, __m128i __B);
173
+ /// \endcode
174
+ ///
175
+ /// This intrinsic corresponds to the \c VPDPBSUD instruction.
176
+ ///
177
+ /// \param __A
178
+ /// A 128-bit vector of [16 x char].
179
+ /// \param __B
180
+ /// A 128-bit vector of [16 x unsigned char].
181
+ /// \returns
182
+ /// A 128-bit vector of [4 x int].
183
+ ///
184
+ /// \code{.operation}
185
+ /// FOR j := 0 to 3
186
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
187
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
188
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
189
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
190
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
191
+ /// ENDFOR
192
+ /// dst[MAX:128] := 0
193
+ /// \endcode
194
+ // clang-format on
195
+ #define _mm_dpbsud_epi32(__W, __A, __B) \
196
+ ((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v16qi)(__A), \
197
+ (__v16qu)(__B)))
198
+
199
+ // clang-format off
200
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
201
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
202
+ /// signed 16-bit results. Sum these 4 results with the corresponding
203
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
204
+ ///
205
+ /// \headerfile <x86intrin.h>
206
+ ///
207
+ /// \code
208
+ /// _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B);
209
+ /// \endcode
210
+ ///
211
+ /// This intrinsic corresponds to the \c VPDPBSUD instruction.
212
+ ///
213
+ /// \param __A
214
+ /// A 256-bit vector of [32 x char].
215
+ /// \param __B
216
+ /// A 256-bit vector of [32 x unsigned char].
217
+ /// \returns
218
+ /// A 256-bit vector of [8 x int].
219
+ ///
220
+ /// \code{.operation}
221
+ /// FOR j := 0 to 7
222
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
223
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
224
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
225
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
226
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
227
+ /// ENDFOR
228
+ /// dst[MAX:256] := 0
229
+ /// \endcode
230
+ // clang-format on
231
+ #define _mm256_dpbsud_epi32(__W, __A, __B) \
232
+ ((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v32qi)(__A), \
233
+ (__v32qu)(__B)))
234
+
235
+ // clang-format off
236
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
237
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
238
+ /// signed 16-bit results. Sum these 4 results with the corresponding
239
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
240
+ /// 32-bit results in \a dst.
241
+ ///
242
+ /// \headerfile <x86intrin.h>
243
+ ///
244
+ /// \code
245
+ /// _mm_dpbsuds_epi32( __m128i __W, __m128i __A, __m128i __B);
246
+ /// \endcode
247
+ ///
248
+ /// This intrinsic corresponds to the \c VPDPBSUDS instruction.
249
+ ///
250
+ /// \param __A
251
+ /// A 128-bit vector of [16 x char].
252
+ /// \param __B
253
+ /// A 128-bit vector of [16 x unsigned char].
254
+ /// \returns
255
+ /// A 128-bit vector of [4 x int].
256
+ ///
257
+ /// \code{.operation}
258
+ /// FOR j := 0 to 3
259
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
260
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
261
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
262
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
263
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
264
+ /// ENDFOR
265
+ /// dst[MAX:128] := 0
266
+ /// \endcode
267
+ // clang-format on
268
+ #define _mm_dpbsuds_epi32(__W, __A, __B) \
269
+ ((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v16qi)(__A), \
270
+ (__v16qu)(__B)))
271
+
272
+ // clang-format off
273
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
274
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
275
+ /// signed 16-bit results. Sum these 4 results with the corresponding
276
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
277
+ /// 32-bit results in \a dst.
278
+ ///
279
+ /// \headerfile <x86intrin.h>
280
+ ///
281
+ /// \code
282
+ /// _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B);
283
+ /// \endcode
284
+ ///
285
+ /// This intrinsic corresponds to the \c VPDPBSUDS instruction.
286
+ ///
287
+ /// \param __A
288
+ /// A 256-bit vector of [32 x char].
289
+ /// \param __B
290
+ /// A 256-bit vector of [32 x unsigned char].
291
+ /// \returns
292
+ /// A 256-bit vector of [8 x int].
293
+ ///
294
+ /// \code{.operation}
295
+ /// FOR j := 0 to 7
296
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
297
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
298
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
299
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
300
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
301
+ /// ENDFOR
302
+ /// dst[MAX:256] := 0
303
+ /// \endcode
304
+ // clang-format on
305
+ #define _mm256_dpbsuds_epi32(__W, __A, __B) \
306
+ ((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v32qi)(__A), \
307
+ (__v32qu)(__B)))
308
+
309
+ // clang-format off
310
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
311
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
312
+ /// signed 16-bit results. Sum these 4 results with the corresponding
313
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
314
+ ///
315
+ /// \headerfile <x86intrin.h>
316
+ ///
317
+ /// \code
318
+ /// _mm_dpbuud_epi32(__m128i __W, __m128i __A, __m128i __B);
319
+ /// \endcode
320
+ ///
321
+ /// This intrinsic corresponds to the \c VPDPBUUD instruction.
322
+ ///
323
+ /// \param __A
324
+ /// A 128-bit vector of [16 x unsigned char].
325
+ /// \param __B
326
+ /// A 128-bit vector of [16 x unsigned char].
327
+ /// \returns
328
+ /// A 128-bit vector of [4 x int].
329
+ ///
330
+ /// \code{.operation}
331
+ /// FOR j := 0 to 3
332
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
333
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
334
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
335
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
336
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
337
+ /// ENDFOR
338
+ /// dst[MAX:128] := 0
339
+ /// \endcode
340
+ // clang-format on
341
+ #define _mm_dpbuud_epi32(__W, __A, __B) \
342
+ ((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v16qu)(__A), \
343
+ (__v16qu)(__B)))
344
+
345
+ // clang-format off
346
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
347
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
348
+ /// signed 16-bit results. Sum these 4 results with the corresponding
349
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
350
+ ///
351
+ /// \headerfile <x86intrin.h>
352
+ ///
353
+ /// \code
354
+ /// _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B);
355
+ /// \endcode
356
+ ///
357
+ /// This intrinsic corresponds to the \c VPDPBUUD instruction.
358
+ ///
359
+ /// \param __A
360
+ /// A 256-bit vector of [32 x unsigned char].
361
+ /// \param __B
362
+ /// A 256-bit vector of [32 x unsigned char].
363
+ /// \returns
364
+ /// A 256-bit vector of [8 x int].
365
+ ///
366
+ /// \code{.operation}
367
+ /// FOR j := 0 to 7
368
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
369
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
370
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
371
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
372
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
373
+ /// ENDFOR
374
+ /// dst[MAX:256] := 0
375
+ /// \endcode
376
+ // clang-format on
377
+ #define _mm256_dpbuud_epi32(__W, __A, __B) \
378
+ ((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v32qu)(__A), \
379
+ (__v32qu)(__B)))
380
+
381
+ // clang-format off
382
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
383
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
384
+ /// signed 16-bit results. Sum these 4 results with the corresponding
385
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
386
+ /// 32-bit results in \a dst.
387
+ ///
388
+ /// \headerfile <x86intrin.h>
389
+ ///
390
+ /// \code
391
+ /// _mm_dpbuuds_epi32( __m128i __W, __m128i __A, __m128i __B);
392
+ /// \endcode
393
+ ///
394
+ /// This intrinsic corresponds to the \c VPDPBUUDS instruction.
395
+ ///
396
+ /// \param __A
397
+ /// A 128-bit vector of [16 x unsigned char].
398
+ /// \param __B
399
+ /// A 128-bit vector of [16 x unsigned char].
400
+ /// \returns
401
+ /// A 128-bit vector of [4 x int].
402
+ ///
403
+ /// \code{.operation}
404
+ /// FOR j := 0 to 3
405
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
406
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
407
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
408
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
409
+ /// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
410
+ /// ENDFOR
411
+ /// dst[MAX:128] := 0
412
+ /// \endcode
413
+ // clang-format on
414
+ #define _mm_dpbuuds_epi32(__W, __A, __B) \
415
+ ((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v16qu)(__A), \
416
+ (__v16qu)(__B)))
417
+
418
+ // clang-format off
419
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
420
+ /// signed 16-bit results. Sum these 4 results with the corresponding
421
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
422
+ /// 32-bit results in \a dst.
423
+ ///
424
+ /// \headerfile <x86intrin.h>
425
+ ///
426
+ /// \code
427
+ /// _mm256_dpbuuds_epi32(__m256i __W, __m256i __A, __m256i __B);
428
+ /// \endcode
429
+ ///
430
+ /// This intrinsic corresponds to the \c VPDPBUUDS instruction.
431
+ ///
432
+ /// \param __A
433
+ /// A 256-bit vector of [32 x unsigned char].
434
+ /// \param __B
435
+ /// A 256-bit vector of [32 x unsigned char].
436
+ /// \returns
437
+ /// A 256-bit vector of [8 x int].
438
+ ///
439
+ /// \code{.operation}
440
+ /// FOR j := 0 to 7
441
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
442
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
443
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
444
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
445
+ /// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
446
+ /// ENDFOR
447
+ /// dst[MAX:256] := 0
448
+ /// \endcode
449
+ // clang-format on
450
+ #define _mm256_dpbuuds_epi32(__W, __A, __B) \
451
+ ((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v32qu)(__A), \
452
+ (__v32qu)(__B)))
453
+
454
+ #endif // __AVXVNNIINT8INTRIN_H