llvm-runtime-resources-darwin 0.0.0 → 22.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +33 -0
  3. package/include/__clang_cuda_builtin_vars.h +121 -0
  4. package/include/__clang_cuda_cmath.h +512 -0
  5. package/include/__clang_cuda_complex_builtins.h +229 -0
  6. package/include/__clang_cuda_device_functions.h +1572 -0
  7. package/include/__clang_cuda_intrinsics.h +994 -0
  8. package/include/__clang_cuda_libdevice_declares.h +468 -0
  9. package/include/__clang_cuda_math.h +353 -0
  10. package/include/__clang_cuda_math_forward_declares.h +284 -0
  11. package/include/__clang_cuda_runtime_wrapper.h +522 -0
  12. package/include/__clang_cuda_texture_intrinsics.h +1177 -0
  13. package/include/__clang_hip_cmath.h +848 -0
  14. package/include/__clang_hip_libdevice_declares.h +340 -0
  15. package/include/__clang_hip_math.h +1405 -0
  16. package/include/__clang_hip_runtime_wrapper.h +165 -0
  17. package/include/__clang_hip_stdlib.h +43 -0
  18. package/include/__clang_spirv_builtins.h +217 -0
  19. package/include/__float_float.h +176 -0
  20. package/include/__float_header_macro.h +12 -0
  21. package/include/__float_infinity_nan.h +20 -0
  22. package/include/__stdarg___gnuc_va_list.h +13 -0
  23. package/include/__stdarg___va_copy.h +12 -0
  24. package/include/__stdarg_header_macro.h +12 -0
  25. package/include/__stdarg_va_arg.h +22 -0
  26. package/include/__stdarg_va_copy.h +12 -0
  27. package/include/__stdarg_va_list.h +13 -0
  28. package/include/__stddef_header_macro.h +12 -0
  29. package/include/__stddef_max_align_t.h +27 -0
  30. package/include/__stddef_null.h +29 -0
  31. package/include/__stddef_nullptr_t.h +29 -0
  32. package/include/__stddef_offsetof.h +17 -0
  33. package/include/__stddef_ptrdiff_t.h +20 -0
  34. package/include/__stddef_rsize_t.h +20 -0
  35. package/include/__stddef_size_t.h +20 -0
  36. package/include/__stddef_unreachable.h +21 -0
  37. package/include/__stddef_wchar_t.h +28 -0
  38. package/include/__stddef_wint_t.h +15 -0
  39. package/include/__wmmintrin_aes.h +140 -0
  40. package/include/__wmmintrin_pclmul.h +48 -0
  41. package/include/adcintrin.h +165 -0
  42. package/include/adxintrin.h +107 -0
  43. package/include/altivec.h +19364 -0
  44. package/include/amdgpuintrin.h +191 -0
  45. package/include/ammintrin.h +183 -0
  46. package/include/amo.h +131 -0
  47. package/include/amxavx512intrin.h +596 -0
  48. package/include/amxcomplexintrin.h +167 -0
  49. package/include/amxfp16intrin.h +93 -0
  50. package/include/amxfp8intrin.h +230 -0
  51. package/include/amxintrin.h +492 -0
  52. package/include/amxmovrsintrin.h +48 -0
  53. package/include/amxtf32intrin.h +108 -0
  54. package/include/andes_vector.h +16 -0
  55. package/include/arm64intr.h +35 -0
  56. package/include/arm_acle.h +865 -0
  57. package/include/arm_bf16.h +20 -0
  58. package/include/arm_cde.h +410 -0
  59. package/include/arm_cmse.h +217 -0
  60. package/include/arm_fp16.h +596 -0
  61. package/include/arm_mve.h +19187 -0
  62. package/include/arm_neon.h +74183 -0
  63. package/include/arm_neon_sve_bridge.h +182 -0
  64. package/include/arm_sme.h +3741 -0
  65. package/include/arm_sve.h +32278 -0
  66. package/include/arm_vector_types.h +432 -0
  67. package/include/armintr.h +31 -0
  68. package/include/avx10_2_512bf16intrin.h +568 -0
  69. package/include/avx10_2_512convertintrin.h +322 -0
  70. package/include/avx10_2_512minmaxintrin.h +127 -0
  71. package/include/avx10_2_512niintrin.h +314 -0
  72. package/include/avx10_2_512satcvtdsintrin.h +307 -0
  73. package/include/avx10_2_512satcvtintrin.h +301 -0
  74. package/include/avx10_2bf16intrin.h +1094 -0
  75. package/include/avx10_2convertintrin.h +3257 -0
  76. package/include/avx10_2copyintrin.h +66 -0
  77. package/include/avx10_2minmaxintrin.h +232 -0
  78. package/include/avx10_2niintrin.h +409 -0
  79. package/include/avx10_2satcvtdsintrin.h +376 -0
  80. package/include/avx10_2satcvtintrin.h +312 -0
  81. package/include/avx2intrin.h +5191 -0
  82. package/include/avx512bf16intrin.h +292 -0
  83. package/include/avx512bitalgintrin.h +75 -0
  84. package/include/avx512bwintrin.h +1895 -0
  85. package/include/avx512cdintrin.h +112 -0
  86. package/include/avx512dqintrin.h +1350 -0
  87. package/include/avx512fintrin.h +9378 -0
  88. package/include/avx512fp16intrin.h +3355 -0
  89. package/include/avx512ifmaintrin.h +68 -0
  90. package/include/avx512ifmavlintrin.h +138 -0
  91. package/include/avx512vbmi2intrin.h +368 -0
  92. package/include/avx512vbmiintrin.h +98 -0
  93. package/include/avx512vbmivlintrin.h +179 -0
  94. package/include/avx512vlbf16intrin.h +527 -0
  95. package/include/avx512vlbitalgintrin.h +135 -0
  96. package/include/avx512vlbwintrin.h +3064 -0
  97. package/include/avx512vlcdintrin.h +202 -0
  98. package/include/avx512vldqintrin.h +1156 -0
  99. package/include/avx512vlfp16intrin.h +2090 -0
  100. package/include/avx512vlintrin.h +8083 -0
  101. package/include/avx512vlvbmi2intrin.h +710 -0
  102. package/include/avx512vlvnniintrin.h +313 -0
  103. package/include/avx512vlvp2intersectintrin.h +123 -0
  104. package/include/avx512vnniintrin.h +116 -0
  105. package/include/avx512vp2intersectintrin.h +77 -0
  106. package/include/avx512vpopcntdqintrin.h +62 -0
  107. package/include/avx512vpopcntdqvlintrin.h +105 -0
  108. package/include/avxifmaintrin.h +193 -0
  109. package/include/avxintrin.h +5064 -0
  110. package/include/avxneconvertintrin.h +484 -0
  111. package/include/avxvnniint16intrin.h +451 -0
  112. package/include/avxvnniint8intrin.h +454 -0
  113. package/include/avxvnniintrin.h +233 -0
  114. package/include/bmi2intrin.h +253 -0
  115. package/include/bmiintrin.h +604 -0
  116. package/include/builtins.h +19 -0
  117. package/include/cet.h +66 -0
  118. package/include/cetintrin.h +115 -0
  119. package/include/cldemoteintrin.h +36 -0
  120. package/include/clflushoptintrin.h +36 -0
  121. package/include/clwbintrin.h +38 -0
  122. package/include/clzerointrin.h +38 -0
  123. package/include/cmpccxaddintrin.h +70 -0
  124. package/include/cpuid.h +451 -0
  125. package/include/crc32intrin.h +100 -0
  126. package/include/cuda_wrappers/__utility/declval.h +28 -0
  127. package/include/cuda_wrappers/algorithm +116 -0
  128. package/include/cuda_wrappers/bits/basic_string.h +9 -0
  129. package/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  130. package/include/cuda_wrappers/bits/c++config.h +61 -0
  131. package/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  132. package/include/cuda_wrappers/cmath +44 -0
  133. package/include/cuda_wrappers/complex +90 -0
  134. package/include/cuda_wrappers/new +108 -0
  135. package/include/emmintrin.h +4940 -0
  136. package/include/enqcmdintrin.h +63 -0
  137. package/include/f16cintrin.h +176 -0
  138. package/include/float.h +48 -0
  139. package/include/fma4intrin.h +220 -0
  140. package/include/fmaintrin.h +826 -0
  141. package/include/fuzzer/FuzzedDataProvider.h +397 -0
  142. package/include/fxsrintrin.h +91 -0
  143. package/include/gfniintrin.h +238 -0
  144. package/include/gpuintrin.h +330 -0
  145. package/include/hexagon_circ_brev_intrinsics.h +298 -0
  146. package/include/hexagon_protos.h +8439 -0
  147. package/include/hexagon_types.h +2628 -0
  148. package/include/hresetintrin.h +49 -0
  149. package/include/htmintrin.h +212 -0
  150. package/include/htmxlintrin.h +345 -0
  151. package/include/hvx_hexagon_protos.h +5399 -0
  152. package/include/ia32intrin.h +863 -0
  153. package/include/immintrin.h +595 -0
  154. package/include/intrin.h +491 -0
  155. package/include/intrin0.h +256 -0
  156. package/include/inttypes.h +101 -0
  157. package/include/invpcidintrin.h +23 -0
  158. package/include/iso646.h +31 -0
  159. package/include/keylockerintrin.h +518 -0
  160. package/include/larchintrin.h +260 -0
  161. package/include/lasxintrin.h +3999 -0
  162. package/include/limits.h +133 -0
  163. package/include/llvm_libc_wrappers/assert.h +32 -0
  164. package/include/llvm_libc_wrappers/ctype.h +28 -0
  165. package/include/llvm_libc_wrappers/inttypes.h +32 -0
  166. package/include/llvm_libc_wrappers/stdio.h +52 -0
  167. package/include/llvm_libc_wrappers/stdlib.h +32 -0
  168. package/include/llvm_libc_wrappers/string.h +28 -0
  169. package/include/llvm_libc_wrappers/time.h +28 -0
  170. package/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  171. package/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  172. package/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  173. package/include/lsxintrin.h +3752 -0
  174. package/include/lwpintrin.h +136 -0
  175. package/include/lzcntintrin.h +109 -0
  176. package/include/mm3dnow.h +22 -0
  177. package/include/mm_malloc.h +67 -0
  178. package/include/mmintrin.h +1541 -0
  179. package/include/module.modulemap +360 -0
  180. package/include/movdirintrin.h +49 -0
  181. package/include/movrs_avx10_2_512intrin.h +98 -0
  182. package/include/movrs_avx10_2intrin.h +174 -0
  183. package/include/movrsintrin.h +59 -0
  184. package/include/msa.h +573 -0
  185. package/include/mwaitxintrin.h +62 -0
  186. package/include/nmmintrin.h +20 -0
  187. package/include/nvptxintrin.h +219 -0
  188. package/include/opencl-c-base.h +758 -0
  189. package/include/opencl-c.h +18676 -0
  190. package/include/openmp_wrappers/__clang_openmp_device_functions.h +104 -0
  191. package/include/openmp_wrappers/cmath +132 -0
  192. package/include/openmp_wrappers/complex +55 -0
  193. package/include/openmp_wrappers/complex.h +35 -0
  194. package/include/openmp_wrappers/complex_cmath.h +393 -0
  195. package/include/openmp_wrappers/math.h +61 -0
  196. package/include/openmp_wrappers/new +48 -0
  197. package/include/pconfigintrin.h +40 -0
  198. package/include/pkuintrin.h +34 -0
  199. package/include/pmmintrin.h +302 -0
  200. package/include/popcntintrin.h +59 -0
  201. package/include/ppc_wrappers/bmi2intrin.h +134 -0
  202. package/include/ppc_wrappers/bmiintrin.h +165 -0
  203. package/include/ppc_wrappers/emmintrin.h +2269 -0
  204. package/include/ppc_wrappers/immintrin.h +27 -0
  205. package/include/ppc_wrappers/mm_malloc.h +45 -0
  206. package/include/ppc_wrappers/mmintrin.h +1453 -0
  207. package/include/ppc_wrappers/nmmintrin.h +26 -0
  208. package/include/ppc_wrappers/pmmintrin.h +145 -0
  209. package/include/ppc_wrappers/smmintrin.h +683 -0
  210. package/include/ppc_wrappers/tmmintrin.h +453 -0
  211. package/include/ppc_wrappers/x86gprintrin.h +17 -0
  212. package/include/ppc_wrappers/x86intrin.h +28 -0
  213. package/include/ppc_wrappers/xmmintrin.h +1827 -0
  214. package/include/prfchiintrin.h +61 -0
  215. package/include/prfchwintrin.h +57 -0
  216. package/include/profile/InstrProfData.inc +1001 -0
  217. package/include/profile/instr_prof_interface.h +88 -0
  218. package/include/ptrauth.h +407 -0
  219. package/include/ptwriteintrin.h +37 -0
  220. package/include/raointintrin.h +203 -0
  221. package/include/rdpruintrin.h +57 -0
  222. package/include/rdseedintrin.h +105 -0
  223. package/include/riscv_bitmanip.h +195 -0
  224. package/include/riscv_corev_alu.h +128 -0
  225. package/include/riscv_crypto.h +170 -0
  226. package/include/riscv_mips.h +34 -0
  227. package/include/riscv_nds.h +89 -0
  228. package/include/riscv_ntlh.h +26 -0
  229. package/include/riscv_vector.h +422 -0
  230. package/include/rtmintrin.h +45 -0
  231. package/include/s390intrin.h +25 -0
  232. package/include/sanitizer/allocator_interface.h +106 -0
  233. package/include/sanitizer/asan_interface.h +348 -0
  234. package/include/sanitizer/common_interface_defs.h +544 -0
  235. package/include/sanitizer/coverage_interface.h +36 -0
  236. package/include/sanitizer/dfsan_interface.h +220 -0
  237. package/include/sanitizer/hwasan_interface.h +109 -0
  238. package/include/sanitizer/linux_syscall_hooks.h +3112 -0
  239. package/include/sanitizer/lsan_interface.h +89 -0
  240. package/include/sanitizer/msan_interface.h +135 -0
  241. package/include/sanitizer/netbsd_syscall_hooks.h +5005 -0
  242. package/include/sanitizer/rtsan_interface.h +75 -0
  243. package/include/sanitizer/scudo_interface.h +38 -0
  244. package/include/sanitizer/tsan_interface.h +316 -0
  245. package/include/sanitizer/tsan_interface_atomic.h +223 -0
  246. package/include/sanitizer/ubsan_interface.h +34 -0
  247. package/include/serializeintrin.h +30 -0
  248. package/include/sgxintrin.h +60 -0
  249. package/include/sha512intrin.h +200 -0
  250. package/include/shaintrin.h +190 -0
  251. package/include/sifive_vector.h +174 -0
  252. package/include/sm3intrin.h +238 -0
  253. package/include/sm4evexintrin.h +32 -0
  254. package/include/sm4intrin.h +269 -0
  255. package/include/smmintrin.h +2352 -0
  256. package/include/spirvintrin.h +194 -0
  257. package/include/stdalign.h +24 -0
  258. package/include/stdarg.h +75 -0
  259. package/include/stdatomic.h +204 -0
  260. package/include/stdbool.h +39 -0
  261. package/include/stdckdint.h +42 -0
  262. package/include/stdcountof.h +15 -0
  263. package/include/stddef.h +139 -0
  264. package/include/stddefer.h +19 -0
  265. package/include/stdint.h +844 -0
  266. package/include/stdnoreturn.h +35 -0
  267. package/include/tbmintrin.h +128 -0
  268. package/include/tgmath.h +1368 -0
  269. package/include/tmmintrin.h +779 -0
  270. package/include/tsxldtrkintrin.h +56 -0
  271. package/include/uintrintrin.h +157 -0
  272. package/include/unwind.h +332 -0
  273. package/include/usermsrintrin.h +51 -0
  274. package/include/vadefs.h +51 -0
  275. package/include/vaesintrin.h +86 -0
  276. package/include/varargs.h +16 -0
  277. package/include/vecintrin.h +12868 -0
  278. package/include/velintrin.h +71 -0
  279. package/include/velintrin_approx.h +120 -0
  280. package/include/velintrin_gen.h +1257 -0
  281. package/include/vpclmulqdqintrin.h +30 -0
  282. package/include/waitpkgintrin.h +42 -0
  283. package/include/wasm_simd128.h +2143 -0
  284. package/include/wbnoinvdintrin.h +24 -0
  285. package/include/wmmintrin.h +23 -0
  286. package/include/x86gprintrin.h +49 -0
  287. package/include/x86intrin.h +35 -0
  288. package/include/xmmintrin.h +3175 -0
  289. package/include/xopintrin.h +780 -0
  290. package/include/xsavecintrin.h +84 -0
  291. package/include/xsaveintrin.h +63 -0
  292. package/include/xsaveoptintrin.h +34 -0
  293. package/include/xsavesintrin.h +44 -0
  294. package/include/xtestintrin.h +27 -0
  295. package/include/yvals_core.h +25 -0
  296. package/include/zos_wrappers/builtins.h +18 -0
  297. package/index.js +5 -0
  298. package/lib/darwin/libclang_rt.asan_abi_ios.a +0 -0
  299. package/lib/darwin/libclang_rt.asan_abi_iossim.a +0 -0
  300. package/lib/darwin/libclang_rt.asan_abi_osx.a +0 -0
  301. package/lib/darwin/libclang_rt.asan_ios_dynamic.dylib +0 -0
  302. package/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  303. package/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  304. package/lib/darwin/libclang_rt.cc_kext.a +0 -0
  305. package/lib/darwin/libclang_rt.cc_kext_ios.a +0 -0
  306. package/lib/darwin/libclang_rt.fuzzer_interceptors_ios.a +0 -0
  307. package/lib/darwin/libclang_rt.fuzzer_interceptors_iossim.a +0 -0
  308. package/lib/darwin/libclang_rt.fuzzer_interceptors_osx.a +0 -0
  309. package/lib/darwin/libclang_rt.fuzzer_ios.a +0 -0
  310. package/lib/darwin/libclang_rt.fuzzer_iossim.a +0 -0
  311. package/lib/darwin/libclang_rt.fuzzer_no_main_ios.a +0 -0
  312. package/lib/darwin/libclang_rt.fuzzer_no_main_iossim.a +0 -0
  313. package/lib/darwin/libclang_rt.fuzzer_no_main_osx.a +0 -0
  314. package/lib/darwin/libclang_rt.fuzzer_osx.a +0 -0
  315. package/lib/darwin/libclang_rt.ios.a +0 -0
  316. package/lib/darwin/libclang_rt.iossim.a +0 -0
  317. package/lib/darwin/libclang_rt.lsan_ios_dynamic.dylib +0 -0
  318. package/lib/darwin/libclang_rt.lsan_iossim_dynamic.dylib +0 -0
  319. package/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib +0 -0
  320. package/lib/darwin/libclang_rt.osx.a +0 -0
  321. package/lib/darwin/libclang_rt.profile_ios.a +0 -0
  322. package/lib/darwin/libclang_rt.profile_iossim.a +0 -0
  323. package/lib/darwin/libclang_rt.profile_osx.a +0 -0
  324. package/lib/darwin/libclang_rt.rtsan_ios_dynamic.dylib +0 -0
  325. package/lib/darwin/libclang_rt.rtsan_iossim_dynamic.dylib +0 -0
  326. package/lib/darwin/libclang_rt.rtsan_osx_dynamic.dylib +0 -0
  327. package/lib/darwin/libclang_rt.stats_client_ios.a +0 -0
  328. package/lib/darwin/libclang_rt.stats_client_iossim.a +0 -0
  329. package/lib/darwin/libclang_rt.stats_client_osx.a +0 -0
  330. package/lib/darwin/libclang_rt.stats_ios_dynamic.dylib +0 -0
  331. package/lib/darwin/libclang_rt.stats_iossim_dynamic.dylib +0 -0
  332. package/lib/darwin/libclang_rt.stats_osx_dynamic.dylib +0 -0
  333. package/lib/darwin/libclang_rt.tsan_ios_dynamic.dylib +0 -0
  334. package/lib/darwin/libclang_rt.tsan_iossim_dynamic.dylib +0 -0
  335. package/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib +0 -0
  336. package/lib/darwin/libclang_rt.tysan_ios_dynamic.dylib +0 -0
  337. package/lib/darwin/libclang_rt.tysan_iossim_dynamic.dylib +0 -0
  338. package/lib/darwin/libclang_rt.tysan_osx_dynamic.dylib +0 -0
  339. package/lib/darwin/libclang_rt.ubsan_ios_dynamic.dylib +0 -0
  340. package/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  341. package/lib/darwin/libclang_rt.ubsan_minimal_ios.a +0 -0
  342. package/lib/darwin/libclang_rt.ubsan_minimal_ios_dynamic.dylib +0 -0
  343. package/lib/darwin/libclang_rt.ubsan_minimal_iossim.a +0 -0
  344. package/lib/darwin/libclang_rt.ubsan_minimal_iossim_dynamic.dylib +0 -0
  345. package/lib/darwin/libclang_rt.ubsan_minimal_osx.a +0 -0
  346. package/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib +0 -0
  347. package/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  348. package/package.json +40 -1
  349. package/share/asan_ignorelist.txt +14 -0
  350. package/share/cfi_ignorelist.txt +17 -0
@@ -0,0 +1,322 @@
1
+ /*===--------- avx10_2_512convertintrin.h - AVX10_2_512CONVERT -------------===
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_2_512convertintrin.h> directly; include <immintrin.h> instead."
12
+ #endif // __IMMINTRIN_H
13
+
14
+ #ifdef __SSE2__
15
+
16
+ #ifndef __AVX10_2_512CONVERTINTRIN_H
17
+ #define __AVX10_2_512CONVERTINTRIN_H
18
+
19
+ /* Define the default attributes for the functions in this file. */
20
+ #define __DEFAULT_FN_ATTRS512 \
21
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
22
+ __min_vector_width__(512)))
23
+
24
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtx2ps_ph(__m512 __A,
25
+ __m512 __B) {
26
+ return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
27
+ (__v16sf)__A, (__v16sf)__B, (__v32hf)_mm512_setzero_ph(), (__mmask32)(-1),
28
+ _MM_FROUND_CUR_DIRECTION);
29
+ }
30
+
31
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512
32
+ _mm512_mask_cvtx2ps_ph(__m512h __W, __mmask32 __U, __m512 __A, __m512 __B) {
33
+ return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
34
+ (__v16sf)__A, (__v16sf)__B, (__v32hf)__W, (__mmask32)__U,
35
+ _MM_FROUND_CUR_DIRECTION);
36
+ }
37
+
38
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512
39
+ _mm512_maskz_cvtx2ps_ph(__mmask32 __U, __m512 __A, __m512 __B) {
40
+ return (__m512h)__builtin_ia32_vcvt2ps2phx512_mask(
41
+ (__v16sf)__A, (__v16sf)__B, (__v32hf)_mm512_setzero_ph(), (__mmask32)__U,
42
+ _MM_FROUND_CUR_DIRECTION);
43
+ }
44
+
45
+ #define _mm512_cvtx_round2ps_ph(A, B, R) \
46
+ ((__m512h)__builtin_ia32_vcvt2ps2phx512_mask( \
47
+ (__v16sf)(A), (__v16sf)(B), (__v32hf)_mm512_undefined_ph(), \
48
+ (__mmask32)(-1), (const int)(R)))
49
+
50
+ #define _mm512_mask_cvtx_round2ps_ph(W, U, A, B, R) \
51
+ ((__m512h)__builtin_ia32_vcvt2ps2phx512_mask((__v16sf)(A), (__v16sf)(B), \
52
+ (__v32hf)(W), (__mmask32)(U), \
53
+ (const int)(R)))
54
+
55
+ #define _mm512_maskz_cvtx_round2ps_ph(U, A, B, R) \
56
+ ((__m512h)__builtin_ia32_vcvt2ps2phx512_mask( \
57
+ (__v16sf)(A), (__v16sf)(B), (__v32hf)_mm512_setzero_ph(), \
58
+ (__mmask32)(U), (const int)(R)))
59
+
60
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
61
+ _mm512_cvtbiasph_bf8(__m512i __A, __m512h __B) {
62
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
63
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
64
+ (__mmask32)-1);
65
+ }
66
+
67
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_bf8(
68
+ __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
69
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
70
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
71
+ }
72
+
73
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
74
+ _mm512_maskz_cvtbiasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) {
75
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8_512_mask(
76
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
77
+ (__mmask32)__U);
78
+ }
79
+
80
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
81
+ _mm512_cvts_biasph_bf8(__m512i __A, __m512h __B) {
82
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
83
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
84
+ (__mmask32)-1);
85
+ }
86
+
87
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_bf8(
88
+ __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
89
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
90
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
91
+ }
92
+
93
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
94
+ _mm512_maskz_cvts_biasph_bf8(__mmask32 __U, __m512i __A, __m512h __B) {
95
+ return (__m256i)__builtin_ia32_vcvtbiasph2bf8s_512_mask(
96
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
97
+ (__mmask32)__U);
98
+ }
99
+
100
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
101
+ _mm512_cvtbiasph_hf8(__m512i __A, __m512h __B) {
102
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
103
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
104
+ (__mmask32)-1);
105
+ }
106
+
107
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvtbiasph_hf8(
108
+ __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
109
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
110
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
111
+ }
112
+
113
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
114
+ _mm512_maskz_cvtbiasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) {
115
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8_512_mask(
116
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
117
+ (__mmask32)__U);
118
+ }
119
+
120
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
121
+ _mm512_cvts_biasph_hf8(__m512i __A, __m512h __B) {
122
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
123
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)_mm256_undefined_si256(),
124
+ (__mmask32)-1);
125
+ }
126
+
127
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_mask_cvts_biasph_hf8(
128
+ __m256i __W, __mmask32 __U, __m512i __A, __m512h __B) {
129
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
130
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)__W, (__mmask32)__U);
131
+ }
132
+
133
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
134
+ _mm512_maskz_cvts_biasph_hf8(__mmask32 __U, __m512i __A, __m512h __B) {
135
+ return (__m256i)__builtin_ia32_vcvtbiasph2hf8s_512_mask(
136
+ (__v64qi)__A, (__v32hf)__B, (__v32qi)(__m256i)_mm256_setzero_si256(),
137
+ (__mmask32)__U);
138
+ }
139
+
140
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvt2ph_bf8(__m512h __A,
141
+ __m512h __B) {
142
+ return (__m512i)__builtin_ia32_vcvt2ph2bf8_512((__v32hf)(__A),
143
+ (__v32hf)(__B));
144
+ }
145
+
146
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
147
+ _mm512_mask_cvt2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
148
+ return (__m512i)__builtin_ia32_selectb_512(
149
+ (__mmask64)__U, (__v64qi)_mm512_cvt2ph_bf8(__A, __B), (__v64qi)__W);
150
+ }
151
+
152
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
153
+ _mm512_maskz_cvt2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) {
154
+ return (__m512i)__builtin_ia32_selectb_512(
155
+ (__mmask64)__U, (__v64qi)_mm512_cvt2ph_bf8(__A, __B),
156
+ (__v64qi)(__m512i)_mm512_setzero_si512());
157
+ }
158
+
159
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
160
+ _mm512_cvts_2ph_bf8(__m512h __A, __m512h __B) {
161
+ return (__m512i)__builtin_ia32_vcvt2ph2bf8s_512((__v32hf)(__A),
162
+ (__v32hf)(__B));
163
+ }
164
+
165
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
166
+ _mm512_mask_cvts_2ph_bf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
167
+ return (__m512i)__builtin_ia32_selectb_512(
168
+ (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B), (__v64qi)__W);
169
+ }
170
+
171
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
172
+ _mm512_maskz_cvts_2ph_bf8(__mmask64 __U, __m512h __A, __m512h __B) {
173
+ return (__m512i)__builtin_ia32_selectb_512(
174
+ (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_bf8(__A, __B),
175
+ (__v64qi)(__m512i)_mm512_setzero_si512());
176
+ }
177
+
178
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512 _mm512_cvt2ph_hf8(__m512h __A,
179
+ __m512h __B) {
180
+ return (__m512i)__builtin_ia32_vcvt2ph2hf8_512((__v32hf)(__A),
181
+ (__v32hf)(__B));
182
+ }
183
+
184
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
185
+ _mm512_mask_cvt2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
186
+ return (__m512i)__builtin_ia32_selectb_512(
187
+ (__mmask64)__U, (__v64qi)_mm512_cvt2ph_hf8(__A, __B), (__v64qi)__W);
188
+ }
189
+
190
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
191
+ _mm512_maskz_cvt2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) {
192
+ return (__m512i)__builtin_ia32_selectb_512(
193
+ (__mmask64)__U, (__v64qi)_mm512_cvt2ph_hf8(__A, __B),
194
+ (__v64qi)(__m512i)_mm512_setzero_si512());
195
+ }
196
+
197
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
198
+ _mm512_cvts_2ph_hf8(__m512h __A, __m512h __B) {
199
+ return (__m512i)__builtin_ia32_vcvt2ph2hf8s_512((__v32hf)(__A),
200
+ (__v32hf)(__B));
201
+ }
202
+
203
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
204
+ _mm512_mask_cvts_2ph_hf8(__m512i __W, __mmask64 __U, __m512h __A, __m512h __B) {
205
+ return (__m512i)__builtin_ia32_selectb_512(
206
+ (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B), (__v64qi)__W);
207
+ }
208
+
209
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
210
+ _mm512_maskz_cvts_2ph_hf8(__mmask64 __U, __m512h __A, __m512h __B) {
211
+ return (__m512i)__builtin_ia32_selectb_512(
212
+ (__mmask64)__U, (__v64qi)_mm512_cvts_2ph_hf8(__A, __B),
213
+ (__v64qi)(__m512i)_mm512_setzero_si512());
214
+ }
215
+
216
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvthf8_ph(__m256i __A) {
217
+ return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
218
+ (__v32qi)__A, (__v32hf)(__m512h)_mm512_undefined_ph(), (__mmask32)-1);
219
+ }
220
+
221
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512
222
+ _mm512_mask_cvthf8_ph(__m512h __W, __mmask32 __U, __m256i __A) {
223
+ return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
224
+ (__v32qi)__A, (__v32hf)(__m512h)__W, (__mmask32)__U);
225
+ }
226
+
227
+ static __inline__ __m512h __DEFAULT_FN_ATTRS512
228
+ _mm512_maskz_cvthf8_ph(__mmask32 __U, __m256i __A) {
229
+ return (__m512h)__builtin_ia32_vcvthf8_2ph512_mask(
230
+ (__v32qi)__A, (__v32hf)(__m512h)_mm512_setzero_ph(), (__mmask32)__U);
231
+ }
232
+
233
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtph_bf8(__m512h __A) {
234
+ return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
235
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
236
+ }
237
+
238
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
239
+ _mm512_mask_cvtph_bf8(__m256i __W, __mmask32 __U, __m512h __A) {
240
+ return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
241
+ (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
242
+ }
243
+
244
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
245
+ _mm512_maskz_cvtph_bf8(__mmask32 __U, __m512h __A) {
246
+ return (__m256i)__builtin_ia32_vcvtph2bf8_512_mask(
247
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
248
+ }
249
+
250
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
251
+ _mm512_cvts_ph_bf8(__m512h __A) {
252
+ return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
253
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
254
+ }
255
+
256
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
257
+ _mm512_mask_cvts_ph_bf8(__m256i __W, __mmask32 __U, __m512h __A) {
258
+ return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
259
+ (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
260
+ }
261
+
262
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
263
+ _mm512_maskz_cvts_ph_bf8(__mmask32 __U, __m512h __A) {
264
+ return (__m256i)__builtin_ia32_vcvtph2bf8s_512_mask(
265
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
266
+ }
267
+
268
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512 _mm512_cvtph_hf8(__m512h __A) {
269
+ return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
270
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
271
+ }
272
+
273
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
274
+ _mm512_mask_cvtph_hf8(__m256i __W, __mmask32 __U, __m512h __A) {
275
+ return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
276
+ (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
277
+ }
278
+
279
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
280
+ _mm512_maskz_cvtph_hf8(__mmask32 __U, __m512h __A) {
281
+ return (__m256i)__builtin_ia32_vcvtph2hf8_512_mask(
282
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
283
+ }
284
+
285
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
286
+ _mm512_cvts_ph_hf8(__m512h __A) {
287
+ return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
288
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_undefined_si256(), (__mmask32)-1);
289
+ }
290
+
291
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
292
+ _mm512_mask_cvts_ph_hf8(__m256i __W, __mmask32 __U, __m512h __A) {
293
+ return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
294
+ (__v32hf)__A, (__v32qi)(__m256i)__W, (__mmask32)__U);
295
+ }
296
+
297
+ static __inline__ __m256i __DEFAULT_FN_ATTRS512
298
+ _mm512_maskz_cvts_ph_hf8(__mmask32 __U, __m512h __A) {
299
+ return (__m256i)__builtin_ia32_vcvtph2hf8s_512_mask(
300
+ (__v32hf)__A, (__v32qi)(__m256i)_mm256_setzero_si256(), (__mmask32)__U);
301
+ }
302
+
303
+ static __inline __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtbf8_ph(__m256i __A) {
304
+ return _mm512_castsi512_ph(_mm512_slli_epi16(_mm512_cvtepi8_epi16(__A), 8));
305
+ }
306
+
307
+ static __inline __m512h __DEFAULT_FN_ATTRS512
308
+ _mm512_mask_cvtbf8_ph(__m512h __S, __mmask32 __U, __m256i __A) {
309
+ return _mm512_castsi512_ph(
310
+ _mm512_mask_slli_epi16((__m512i)__S, __U, _mm512_cvtepi8_epi16(__A), 8));
311
+ }
312
+
313
+ static __inline __m512h __DEFAULT_FN_ATTRS512
314
+ _mm512_maskz_cvtbf8_ph(__mmask32 __U, __m256i __A) {
315
+ return _mm512_castsi512_ph(
316
+ _mm512_slli_epi16(_mm512_maskz_cvtepi8_epi16(__U, __A), 8));
317
+ }
318
+
319
+ #undef __DEFAULT_FN_ATTRS512
320
+
321
+ #endif // __AVX10_2_512CONVERTINTRIN_H
322
+ #endif // __SSE2__
@@ -0,0 +1,127 @@
1
+ /*===---- avx10_2_512minmaxintrin.h - AVX10_2_512MINMAX 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_2_512minmaxintrin.h> directly; include <immintrin.h> instead."
12
+ #endif // __IMMINTRIN_H
13
+
14
+ #ifndef __AVX10_2_512MINMAXINTRIN_H
15
+ #define __AVX10_2_512MINMAXINTRIN_H
16
+
17
+ #define _mm512_minmax_pbh(A, B, C) \
18
+ ((__m512bh)__builtin_ia32_vminmaxbf16512((__v32bf)(__m512bh)(A), \
19
+ (__v32bf)(__m512bh)(A), (int)(C)))
20
+
21
+ #define _mm512_mask_minmax_pbh(W, U, A, B, C) \
22
+ ((__m512bh)__builtin_ia32_selectpbf_512( \
23
+ (__mmask32)(U), \
24
+ (__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
25
+ (__v32bf)(__m512bh)(B), (int)(C)), \
26
+ (__v32bf)(__m512bh)(W)))
27
+
28
+ #define _mm512_maskz_minmax_pbh(U, A, B, C) \
29
+ ((__m512bh)__builtin_ia32_selectpbf_512( \
30
+ (__mmask32)(U), \
31
+ (__v32bf)_mm512_minmax_pbh((__v32bf)(__m512bh)(A), \
32
+ (__v32bf)(__m512bh)(B), (int)(C)), \
33
+ (__v32bf) __builtin_bit_cast(__m512bh, _mm512_setzero_ps())))
34
+
35
+ #define _mm512_minmax_pd(A, B, C) \
36
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
37
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
38
+ (__v8df)_mm512_undefined_pd(), (__mmask8)-1, \
39
+ _MM_FROUND_CUR_DIRECTION))
40
+
41
+ #define _mm512_mask_minmax_pd(W, U, A, B, C) \
42
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
43
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
44
+ (__v8df)(__m512d)(W), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
45
+
46
+ #define _mm512_maskz_minmax_pd(U, A, B, C) \
47
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
48
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
49
+ (__v8df)_mm512_setzero_pd(), (__mmask8)(U), _MM_FROUND_CUR_DIRECTION))
50
+
51
+ #define _mm512_minmax_round_pd(A, B, C, R) \
52
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
53
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
54
+ (__v8df)_mm512_undefined_pd(), (__mmask8)-1, (int)(R)))
55
+
56
+ #define _mm512_mask_minmax_round_pd(W, U, A, B, C, R) \
57
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
58
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
59
+ (__v8df)(__m512d)(W), (__mmask8)(U), (int)(R)))
60
+
61
+ #define _mm512_maskz_minmax_round_pd(U, A, B, C, R) \
62
+ ((__m512d)__builtin_ia32_vminmaxpd512_round_mask( \
63
+ (__v8df)(__m512d)(A), (__v8df)(__m512d)(B), (int)(C), \
64
+ (__v8df)_mm512_setzero_pd(), (__mmask8)(U), (int)(R)))
65
+
66
+ #define _mm512_minmax_ph(A, B, C) \
67
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
68
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
69
+ (__v32hf)_mm512_undefined_ph(), (__mmask32)-1, \
70
+ _MM_FROUND_CUR_DIRECTION))
71
+
72
+ #define _mm512_mask_minmax_ph(W, U, A, B, C) \
73
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
74
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
75
+ (__v32hf)(__m512h)(W), (__mmask32)(U), _MM_FROUND_CUR_DIRECTION))
76
+
77
+ #define _mm512_maskz_minmax_ph(U, A, B, C) \
78
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
79
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
80
+ (__v32hf)_mm512_setzero_ph(), (__mmask32)(U), _MM_FROUND_CUR_DIRECTION))
81
+
82
+ #define _mm512_minmax_round_ph(A, B, C, R) \
83
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
84
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
85
+ (__v32hf)_mm512_undefined_ph(), (__mmask32)-1, (int)(R)))
86
+
87
+ #define _mm512_mask_minmax_round_ph(W, U, A, B, C, R) \
88
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
89
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
90
+ (__v32hf)(__m512h)(W), (__mmask32)(U), (int)(R)))
91
+
92
+ #define _mm512_maskz_minmax_round_ph(U, A, B, C, R) \
93
+ ((__m512h)__builtin_ia32_vminmaxph512_round_mask( \
94
+ (__v32hf)(__m512h)(A), (__v32hf)(__m512h)(B), (int)(C), \
95
+ (__v32hf)_mm512_setzero_ph(), (__mmask32)(U), (int)(R)))
96
+
97
+ #define _mm512_minmax_ps(A, B, C) \
98
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
99
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
100
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, \
101
+ _MM_FROUND_CUR_DIRECTION))
102
+
103
+ #define _mm512_mask_minmax_ps(W, U, A, B, C) \
104
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
105
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), (__v16sf)(W), \
106
+ (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
107
+
108
+ #define _mm512_maskz_minmax_ps(U, A, B, C) \
109
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
110
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
111
+ (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), _MM_FROUND_CUR_DIRECTION))
112
+
113
+ #define _mm512_minmax_round_ps(A, B, C, R) \
114
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
115
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
116
+ (__v16sf)_mm512_undefined_ps(), (__mmask16)-1, (int)(R)))
117
+
118
+ #define _mm512_mask_minmax_round_ps(W, U, A, B, C, R) \
119
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
120
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), (__v16sf)(W), \
121
+ (__mmask16)(U), (int)(R)))
122
+
123
+ #define _mm512_maskz_minmax_round_ps(U, A, B, C, R) \
124
+ ((__m512)__builtin_ia32_vminmaxps512_round_mask( \
125
+ (__v16sf)(__m512)(A), (__v16sf)(__m512)(B), (int)(C), \
126
+ (__v16sf)_mm512_setzero_ps(), (__mmask16)(U), (int)(R)))
127
+ #endif // __AVX10_2_512MINMAXINTRIN_H