@cpp-linter/clang-tidy-linux-arm64 18.1.5 → 20.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 (282) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{18 → 20}/include/__clang_cuda_device_functions.h +14 -0
  4. package/lib/clang/{18 → 20}/include/__clang_cuda_intrinsics.h +1 -3
  5. package/lib/clang/{18 → 20}/include/__clang_cuda_math.h +5 -0
  6. package/lib/clang/{18 → 20}/include/__clang_hip_cmath.h +6 -1
  7. package/lib/clang/{18 → 20}/include/__clang_hip_math.h +5 -0
  8. package/lib/clang/20/include/__stdarg_header_macro.h +12 -0
  9. package/lib/clang/20/include/__stddef_header_macro.h +12 -0
  10. package/lib/clang/{18 → 20}/include/adcintrin.h +5 -0
  11. package/lib/clang/{18 → 20}/include/adxintrin.h +5 -0
  12. package/lib/clang/{18 → 20}/include/altivec.h +8 -8
  13. package/lib/clang/20/include/amdgpuintrin.h +194 -0
  14. package/lib/clang/20/include/amxavx512intrin.h +382 -0
  15. package/lib/clang/20/include/amxbf16transposeintrin.h +94 -0
  16. package/lib/clang/20/include/amxcomplextransposeintrin.h +303 -0
  17. package/lib/clang/{18 → 20}/include/amxfp16intrin.h +35 -0
  18. package/lib/clang/20/include/amxfp16transposeintrin.h +94 -0
  19. package/lib/clang/20/include/amxfp8intrin.h +230 -0
  20. package/lib/clang/{18 → 20}/include/amxintrin.h +5 -35
  21. package/lib/clang/20/include/amxmovrsintrin.h +48 -0
  22. package/lib/clang/20/include/amxmovrstransposeintrin.h +200 -0
  23. package/lib/clang/20/include/amxtf32intrin.h +108 -0
  24. package/lib/clang/20/include/amxtf32transposeintrin.h +105 -0
  25. package/lib/clang/20/include/amxtransposeintrin.h +248 -0
  26. package/lib/clang/{18 → 20}/include/arm_acle.h +49 -26
  27. package/lib/clang/{18 → 20}/include/arm_fp16.h +1 -1
  28. package/lib/clang/{18 → 20}/include/arm_neon.h +45631 -43745
  29. package/lib/clang/{18 → 20}/include/arm_sme.h +641 -6
  30. package/lib/clang/{18 → 20}/include/arm_sve.h +28311 -27738
  31. package/lib/clang/{18 → 20}/include/arm_vector_types.h +92 -5
  32. package/lib/clang/20/include/avx10_2_512bf16intrin.h +561 -0
  33. package/lib/clang/20/include/avx10_2_512convertintrin.h +320 -0
  34. package/lib/clang/20/include/avx10_2_512minmaxintrin.h +127 -0
  35. package/lib/clang/20/include/avx10_2_512niintrin.h +314 -0
  36. package/lib/clang/20/include/avx10_2_512satcvtdsintrin.h +303 -0
  37. package/lib/clang/20/include/avx10_2_512satcvtintrin.h +301 -0
  38. package/lib/clang/20/include/avx10_2bf16intrin.h +1085 -0
  39. package/lib/clang/20/include/avx10_2convertintrin.h +589 -0
  40. package/lib/clang/20/include/avx10_2copyintrin.h +66 -0
  41. package/lib/clang/20/include/avx10_2minmaxintrin.h +277 -0
  42. package/lib/clang/20/include/avx10_2niintrin.h +2075 -0
  43. package/lib/clang/20/include/avx10_2satcvtdsintrin.h +496 -0
  44. package/lib/clang/20/include/avx10_2satcvtintrin.h +444 -0
  45. package/lib/clang/{18 → 20}/include/avx2intrin.h +9 -0
  46. package/lib/clang/{18 → 20}/include/avx512bitalgintrin.h +2 -2
  47. package/lib/clang/{18 → 20}/include/avx512fintrin.h +22 -14
  48. package/lib/clang/{18 → 20}/include/avx512fp16intrin.h +38 -38
  49. package/lib/clang/{18 → 20}/include/avx512vlbitalgintrin.h +4 -4
  50. package/lib/clang/{18 → 20}/include/avx512vpopcntdqintrin.h +12 -4
  51. package/lib/clang/{18 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
  52. package/lib/clang/{18 → 20}/include/avxintrin.h +88 -60
  53. package/lib/clang/{18 → 20}/include/avxvnniint16intrin.h +36 -77
  54. package/lib/clang/{18 → 20}/include/avxvnniint8intrin.h +36 -77
  55. package/lib/clang/{18 → 20}/include/bmi2intrin.h +15 -17
  56. package/lib/clang/{18 → 20}/include/bmiintrin.h +33 -41
  57. package/lib/clang/{18 → 20}/include/builtins.h +3 -0
  58. package/lib/clang/{18 → 20}/include/cmpccxaddintrin.h +1 -1
  59. package/lib/clang/{18 → 20}/include/cpuid.h +35 -14
  60. package/lib/clang/{18 → 20}/include/cuda_wrappers/algorithm +1 -1
  61. package/lib/clang/{18 → 20}/include/cuda_wrappers/cmath +4 -0
  62. package/lib/clang/{18 → 20}/include/cuda_wrappers/new +2 -0
  63. package/lib/clang/{18 → 20}/include/emmintrin.h +442 -277
  64. package/lib/clang/{18 → 20}/include/float.h +28 -0
  65. package/lib/clang/{18 → 20}/include/fmaintrin.h +32 -16
  66. package/lib/clang/{18 → 20}/include/gfniintrin.h +32 -10
  67. package/lib/clang/20/include/gpuintrin.h +224 -0
  68. package/lib/clang/{18 → 20}/include/hexagon_types.h +8 -4
  69. package/lib/clang/{18 → 20}/include/hlsl/hlsl_basic_types.h +57 -4
  70. package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
  71. package/lib/clang/20/include/hlsl/hlsl_intrinsics.h +2814 -0
  72. package/lib/clang/{18 → 20}/include/hlsl.h +11 -0
  73. package/lib/clang/{18 → 20}/include/hvx_hexagon_protos.h +427 -0
  74. package/lib/clang/{18 → 20}/include/ia32intrin.h +36 -36
  75. package/lib/clang/{18 → 20}/include/immintrin.h +171 -161
  76. package/lib/clang/{18 → 20}/include/intrin.h +62 -228
  77. package/lib/clang/20/include/intrin0.h +256 -0
  78. package/lib/clang/{18 → 20}/include/inttypes.h +4 -0
  79. package/lib/clang/{18 → 20}/include/iso646.h +4 -0
  80. package/lib/clang/{18 → 20}/include/keylockerintrin.h +5 -8
  81. package/lib/clang/{18 → 20}/include/larchintrin.h +22 -8
  82. package/lib/clang/{18 → 20}/include/lasxintrin.h +27 -25
  83. package/lib/clang/{18 → 20}/include/limits.h +12 -4
  84. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/assert.h +1 -1
  85. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
  86. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdlib.h +8 -0
  87. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  88. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  89. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  90. package/lib/clang/{18 → 20}/include/lsxintrin.h +27 -25
  91. package/lib/clang/{18 → 20}/include/lzcntintrin.h +10 -7
  92. package/lib/clang/20/include/mm3dnow.h +22 -0
  93. package/lib/clang/{18 → 20}/include/mmintrin.h +285 -239
  94. package/lib/clang/{18 → 20}/include/module.modulemap +16 -5
  95. package/lib/clang/20/include/movrs_avx10_2_512intrin.h +98 -0
  96. package/lib/clang/20/include/movrs_avx10_2intrin.h +174 -0
  97. package/lib/clang/20/include/movrsintrin.h +59 -0
  98. package/lib/clang/20/include/nvptxintrin.h +202 -0
  99. package/lib/clang/{18 → 20}/include/opencl-c-base.h +8 -0
  100. package/lib/clang/{18 → 20}/include/opencl-c.h +15 -0
  101. package/lib/clang/{18 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
  102. package/lib/clang/{18 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
  103. package/lib/clang/{18 → 20}/include/pmmintrin.h +16 -3
  104. package/lib/clang/{18 → 20}/include/popcntintrin.h +7 -7
  105. package/lib/clang/{18 → 20}/include/prfchwintrin.h +10 -8
  106. package/lib/clang/20/include/ptrauth.h +336 -0
  107. package/lib/clang/20/include/riscv_corev_alu.h +128 -0
  108. package/lib/clang/{18 → 20}/include/riscv_vector.h +0 -5
  109. package/lib/clang/20/include/sifive_vector.h +118 -0
  110. package/lib/clang/20/include/sm4evexintrin.h +32 -0
  111. package/lib/clang/{18 → 20}/include/smmintrin.h +18 -12
  112. package/lib/clang/{18 → 20}/include/stdarg.h +15 -19
  113. package/lib/clang/{18 → 20}/include/stdatomic.h +11 -1
  114. package/lib/clang/{18 → 20}/include/stdbool.h +5 -0
  115. package/lib/clang/{18 → 20}/include/stddef.h +38 -22
  116. package/lib/clang/{18 → 20}/include/stdint.h +5 -0
  117. package/lib/clang/{18 → 20}/include/stdnoreturn.h +6 -0
  118. package/lib/clang/{18 → 20}/include/tbmintrin.h +25 -37
  119. package/lib/clang/{18 → 20}/include/tmmintrin.h +84 -54
  120. package/lib/clang/{18 → 20}/include/varargs.h +5 -1
  121. package/lib/clang/{18 → 20}/include/vecintrin.h +1778 -60
  122. package/lib/clang/{18 → 20}/include/wasm_simd128.h +167 -21
  123. package/lib/clang/{18 → 20}/include/x86gprintrin.h +7 -14
  124. package/lib/clang/20/include/x86intrin.h +53 -0
  125. package/lib/clang/{18 → 20}/include/xmmintrin.h +455 -276
  126. package/lib/clang/20/include/yvals_core.h +25 -0
  127. package/lib/clang/20/include/zos_wrappers/builtins.h +18 -0
  128. package/package.json +6 -6
  129. package/lib/clang/18/include/avx512erintrin.h +0 -271
  130. package/lib/clang/18/include/avx512pfintrin.h +0 -92
  131. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +0 -624
  132. package/lib/clang/18/include/mm3dnow.h +0 -157
  133. package/lib/clang/18/include/sifive_vector.h +0 -16
  134. package/lib/clang/18/include/x86intrin.h +0 -67
  135. /package/lib/clang/{18 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
  136. /package/lib/clang/{18 → 20}/include/__clang_cuda_cmath.h +0 -0
  137. /package/lib/clang/{18 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
  138. /package/lib/clang/{18 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
  139. /package/lib/clang/{18 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
  140. /package/lib/clang/{18 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
  141. /package/lib/clang/{18 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
  142. /package/lib/clang/{18 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
  143. /package/lib/clang/{18 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
  144. /package/lib/clang/{18 → 20}/include/__clang_hip_stdlib.h +0 -0
  145. /package/lib/clang/{18 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
  146. /package/lib/clang/{18 → 20}/include/__stdarg___va_copy.h +0 -0
  147. /package/lib/clang/{18 → 20}/include/__stdarg_va_arg.h +0 -0
  148. /package/lib/clang/{18 → 20}/include/__stdarg_va_copy.h +0 -0
  149. /package/lib/clang/{18 → 20}/include/__stdarg_va_list.h +0 -0
  150. /package/lib/clang/{18 → 20}/include/__stddef_max_align_t.h +0 -0
  151. /package/lib/clang/{18 → 20}/include/__stddef_null.h +0 -0
  152. /package/lib/clang/{18 → 20}/include/__stddef_nullptr_t.h +0 -0
  153. /package/lib/clang/{18 → 20}/include/__stddef_offsetof.h +0 -0
  154. /package/lib/clang/{18 → 20}/include/__stddef_ptrdiff_t.h +0 -0
  155. /package/lib/clang/{18 → 20}/include/__stddef_rsize_t.h +0 -0
  156. /package/lib/clang/{18 → 20}/include/__stddef_size_t.h +0 -0
  157. /package/lib/clang/{18 → 20}/include/__stddef_unreachable.h +0 -0
  158. /package/lib/clang/{18 → 20}/include/__stddef_wchar_t.h +0 -0
  159. /package/lib/clang/{18 → 20}/include/__stddef_wint_t.h +0 -0
  160. /package/lib/clang/{18 → 20}/include/__wmmintrin_aes.h +0 -0
  161. /package/lib/clang/{18 → 20}/include/__wmmintrin_pclmul.h +0 -0
  162. /package/lib/clang/{18 → 20}/include/ammintrin.h +0 -0
  163. /package/lib/clang/{18 → 20}/include/amxcomplexintrin.h +0 -0
  164. /package/lib/clang/{18 → 20}/include/arm64intr.h +0 -0
  165. /package/lib/clang/{18 → 20}/include/arm_bf16.h +0 -0
  166. /package/lib/clang/{18 → 20}/include/arm_cde.h +0 -0
  167. /package/lib/clang/{18 → 20}/include/arm_cmse.h +0 -0
  168. /package/lib/clang/{18 → 20}/include/arm_mve.h +0 -0
  169. /package/lib/clang/{18 → 20}/include/arm_neon_sve_bridge.h +0 -0
  170. /package/lib/clang/{18 → 20}/include/armintr.h +0 -0
  171. /package/lib/clang/{18 → 20}/include/avx512bf16intrin.h +0 -0
  172. /package/lib/clang/{18 → 20}/include/avx512bwintrin.h +0 -0
  173. /package/lib/clang/{18 → 20}/include/avx512cdintrin.h +0 -0
  174. /package/lib/clang/{18 → 20}/include/avx512dqintrin.h +0 -0
  175. /package/lib/clang/{18 → 20}/include/avx512ifmaintrin.h +0 -0
  176. /package/lib/clang/{18 → 20}/include/avx512ifmavlintrin.h +0 -0
  177. /package/lib/clang/{18 → 20}/include/avx512vbmi2intrin.h +0 -0
  178. /package/lib/clang/{18 → 20}/include/avx512vbmiintrin.h +0 -0
  179. /package/lib/clang/{18 → 20}/include/avx512vbmivlintrin.h +0 -0
  180. /package/lib/clang/{18 → 20}/include/avx512vlbf16intrin.h +0 -0
  181. /package/lib/clang/{18 → 20}/include/avx512vlbwintrin.h +0 -0
  182. /package/lib/clang/{18 → 20}/include/avx512vlcdintrin.h +0 -0
  183. /package/lib/clang/{18 → 20}/include/avx512vldqintrin.h +0 -0
  184. /package/lib/clang/{18 → 20}/include/avx512vlfp16intrin.h +0 -0
  185. /package/lib/clang/{18 → 20}/include/avx512vlintrin.h +0 -0
  186. /package/lib/clang/{18 → 20}/include/avx512vlvbmi2intrin.h +0 -0
  187. /package/lib/clang/{18 → 20}/include/avx512vlvnniintrin.h +0 -0
  188. /package/lib/clang/{18 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
  189. /package/lib/clang/{18 → 20}/include/avx512vnniintrin.h +0 -0
  190. /package/lib/clang/{18 → 20}/include/avx512vp2intersectintrin.h +0 -0
  191. /package/lib/clang/{18 → 20}/include/avxifmaintrin.h +0 -0
  192. /package/lib/clang/{18 → 20}/include/avxneconvertintrin.h +0 -0
  193. /package/lib/clang/{18 → 20}/include/avxvnniintrin.h +0 -0
  194. /package/lib/clang/{18 → 20}/include/cet.h +0 -0
  195. /package/lib/clang/{18 → 20}/include/cetintrin.h +0 -0
  196. /package/lib/clang/{18 → 20}/include/cldemoteintrin.h +0 -0
  197. /package/lib/clang/{18 → 20}/include/clflushoptintrin.h +0 -0
  198. /package/lib/clang/{18 → 20}/include/clwbintrin.h +0 -0
  199. /package/lib/clang/{18 → 20}/include/clzerointrin.h +0 -0
  200. /package/lib/clang/{18 → 20}/include/crc32intrin.h +0 -0
  201. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
  202. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  203. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  204. /package/lib/clang/{18 → 20}/include/cuda_wrappers/complex +0 -0
  205. /package/lib/clang/{18 → 20}/include/enqcmdintrin.h +0 -0
  206. /package/lib/clang/{18 → 20}/include/f16cintrin.h +0 -0
  207. /package/lib/clang/{18 → 20}/include/fma4intrin.h +0 -0
  208. /package/lib/clang/{18 → 20}/include/fxsrintrin.h +0 -0
  209. /package/lib/clang/{18 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
  210. /package/lib/clang/{18 → 20}/include/hexagon_protos.h +0 -0
  211. /package/lib/clang/{18 → 20}/include/hresetintrin.h +0 -0
  212. /package/lib/clang/{18 → 20}/include/htmintrin.h +0 -0
  213. /package/lib/clang/{18 → 20}/include/htmxlintrin.h +0 -0
  214. /package/lib/clang/{18 → 20}/include/invpcidintrin.h +0 -0
  215. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
  216. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
  217. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/string.h +0 -0
  218. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/time.h +0 -0
  219. /package/lib/clang/{18 → 20}/include/lwpintrin.h +0 -0
  220. /package/lib/clang/{18 → 20}/include/mm_malloc.h +0 -0
  221. /package/lib/clang/{18 → 20}/include/movdirintrin.h +0 -0
  222. /package/lib/clang/{18 → 20}/include/msa.h +0 -0
  223. /package/lib/clang/{18 → 20}/include/mwaitxintrin.h +0 -0
  224. /package/lib/clang/{18 → 20}/include/nmmintrin.h +0 -0
  225. /package/lib/clang/{18 → 20}/include/openmp_wrappers/cmath +0 -0
  226. /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex +0 -0
  227. /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex.h +0 -0
  228. /package/lib/clang/{18 → 20}/include/openmp_wrappers/math.h +0 -0
  229. /package/lib/clang/{18 → 20}/include/openmp_wrappers/new +0 -0
  230. /package/lib/clang/{18 → 20}/include/pconfigintrin.h +0 -0
  231. /package/lib/clang/{18 → 20}/include/pkuintrin.h +0 -0
  232. /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
  233. /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
  234. /package/lib/clang/{18 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
  235. /package/lib/clang/{18 → 20}/include/ppc_wrappers/immintrin.h +0 -0
  236. /package/lib/clang/{18 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
  237. /package/lib/clang/{18 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
  238. /package/lib/clang/{18 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
  239. /package/lib/clang/{18 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
  240. /package/lib/clang/{18 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
  241. /package/lib/clang/{18 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
  242. /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
  243. /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
  244. /package/lib/clang/{18 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
  245. /package/lib/clang/{18 → 20}/include/prfchiintrin.h +0 -0
  246. /package/lib/clang/{18 → 20}/include/ptwriteintrin.h +0 -0
  247. /package/lib/clang/{18 → 20}/include/raointintrin.h +0 -0
  248. /package/lib/clang/{18 → 20}/include/rdpruintrin.h +0 -0
  249. /package/lib/clang/{18 → 20}/include/rdseedintrin.h +0 -0
  250. /package/lib/clang/{18 → 20}/include/riscv_bitmanip.h +0 -0
  251. /package/lib/clang/{18 → 20}/include/riscv_crypto.h +0 -0
  252. /package/lib/clang/{18 → 20}/include/riscv_ntlh.h +0 -0
  253. /package/lib/clang/{18 → 20}/include/rtmintrin.h +0 -0
  254. /package/lib/clang/{18 → 20}/include/s390intrin.h +0 -0
  255. /package/lib/clang/{18 → 20}/include/serializeintrin.h +0 -0
  256. /package/lib/clang/{18 → 20}/include/sgxintrin.h +0 -0
  257. /package/lib/clang/{18 → 20}/include/sha512intrin.h +0 -0
  258. /package/lib/clang/{18 → 20}/include/shaintrin.h +0 -0
  259. /package/lib/clang/{18 → 20}/include/sm3intrin.h +0 -0
  260. /package/lib/clang/{18 → 20}/include/sm4intrin.h +0 -0
  261. /package/lib/clang/{18 → 20}/include/stdalign.h +0 -0
  262. /package/lib/clang/{18 → 20}/include/stdckdint.h +0 -0
  263. /package/lib/clang/{18 → 20}/include/tgmath.h +0 -0
  264. /package/lib/clang/{18 → 20}/include/tsxldtrkintrin.h +0 -0
  265. /package/lib/clang/{18 → 20}/include/uintrintrin.h +0 -0
  266. /package/lib/clang/{18 → 20}/include/unwind.h +0 -0
  267. /package/lib/clang/{18 → 20}/include/usermsrintrin.h +0 -0
  268. /package/lib/clang/{18 → 20}/include/vadefs.h +0 -0
  269. /package/lib/clang/{18 → 20}/include/vaesintrin.h +0 -0
  270. /package/lib/clang/{18 → 20}/include/velintrin.h +0 -0
  271. /package/lib/clang/{18 → 20}/include/velintrin_approx.h +0 -0
  272. /package/lib/clang/{18 → 20}/include/velintrin_gen.h +0 -0
  273. /package/lib/clang/{18 → 20}/include/vpclmulqdqintrin.h +0 -0
  274. /package/lib/clang/{18 → 20}/include/waitpkgintrin.h +0 -0
  275. /package/lib/clang/{18 → 20}/include/wbnoinvdintrin.h +0 -0
  276. /package/lib/clang/{18 → 20}/include/wmmintrin.h +0 -0
  277. /package/lib/clang/{18 → 20}/include/xopintrin.h +0 -0
  278. /package/lib/clang/{18 → 20}/include/xsavecintrin.h +0 -0
  279. /package/lib/clang/{18 → 20}/include/xsaveintrin.h +0 -0
  280. /package/lib/clang/{18 → 20}/include/xsaveoptintrin.h +0 -0
  281. /package/lib/clang/{18 → 20}/include/xsavesintrin.h +0 -0
  282. /package/lib/clang/{18 → 20}/include/xtestintrin.h +0 -0
@@ -0,0 +1,561 @@
1
+ /*===----------- avx10_2_512bf16intrin.h - AVX10-BF16 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_512bf16intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifdef __SSE2__
15
+
16
+ #ifndef __AVX10_2_512BF16INTRIN_H
17
+ #define __AVX10_2_512BF16INTRIN_H
18
+
19
+ /* Define the default attributes for the functions in this file. */
20
+ typedef __bf16 __m512bh_u __attribute__((__vector_size__(64), __aligned__(1)));
21
+
22
+ /* Define the default attributes for the functions in this file. */
23
+ #define __DEFAULT_FN_ATTRS512 \
24
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"), \
25
+ __min_vector_width__(512)))
26
+
27
+ static __inline __m512bh __DEFAULT_FN_ATTRS512 _mm512_setzero_pbh(void) {
28
+ return __builtin_bit_cast(__m512bh, _mm512_setzero_ps());
29
+ }
30
+
31
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_undefined_pbh(void) {
32
+ return (__m512bh)__builtin_ia32_undef512();
33
+ }
34
+
35
+ static __inline __m512bh __DEFAULT_FN_ATTRS512 _mm512_set1_pbh(__bf16 bf) {
36
+ return (__m512bh)(__v32bf){bf, bf, bf, bf, bf, bf, bf, bf, bf, bf, bf,
37
+ bf, bf, bf, bf, bf, bf, bf, bf, bf, bf, bf,
38
+ bf, bf, bf, bf, bf, bf, bf, bf, bf, bf};
39
+ }
40
+
41
+ static __inline __m512bh __DEFAULT_FN_ATTRS512 _mm512_set_pbh(
42
+ __bf16 bf1, __bf16 bf2, __bf16 bf3, __bf16 bf4, __bf16 bf5, __bf16 bf6,
43
+ __bf16 bf7, __bf16 bf8, __bf16 bf9, __bf16 bf10, __bf16 bf11, __bf16 bf12,
44
+ __bf16 bf13, __bf16 bf14, __bf16 bf15, __bf16 bf16, __bf16 bf17,
45
+ __bf16 bf18, __bf16 bf19, __bf16 bf20, __bf16 bf21, __bf16 bf22,
46
+ __bf16 bf23, __bf16 bf24, __bf16 bf25, __bf16 bf26, __bf16 bf27,
47
+ __bf16 bf28, __bf16 bf29, __bf16 bf30, __bf16 bf31, __bf16 bf32) {
48
+ return (__m512bh)(__v32bf){bf32, bf31, bf30, bf29, bf28, bf27, bf26, bf25,
49
+ bf24, bf23, bf22, bf21, bf20, bf19, bf18, bf17,
50
+ bf16, bf15, bf14, bf13, bf12, bf11, bf10, bf9,
51
+ bf8, bf7, bf6, bf5, bf4, bf3, bf2, bf1};
52
+ }
53
+
54
+ #define _mm512_setr_pbh(bf1, bf2, bf3, bf4, bf5, bf6, bf7, bf8, bf9, bf10, \
55
+ bf11, bf12, bf13, bf14, bf15, bf16, bf17, bf18, bf19, \
56
+ bf20, bf21, bf22, bf23, bf24, bf25, bf26, bf27, bf28, \
57
+ bf29, bf30, bf31, bf32) \
58
+ _mm512_set_pbh((bf32), (bf31), (bf30), (bf29), (bf28), (bf27), (bf26), \
59
+ (bf25), (bf24), (bf23), (bf22), (bf21), (bf20), (bf19), \
60
+ (bf18), (bf17), (bf16), (bf15), (bf14), (bf13), (bf12), \
61
+ (bf11), (bf10), (bf9), (bf8), (bf7), (bf6), (bf5), (bf4), \
62
+ (bf3), (bf2), (bf1))
63
+
64
+ static __inline__ __m512 __DEFAULT_FN_ATTRS512
65
+ _mm512_castbf16_ps(__m512bh __a) {
66
+ return (__m512)__a;
67
+ }
68
+
69
+ static __inline__ __m512d __DEFAULT_FN_ATTRS512
70
+ _mm512_castbf16_pd(__m512bh __a) {
71
+ return (__m512d)__a;
72
+ }
73
+
74
+ static __inline__ __m512i __DEFAULT_FN_ATTRS512
75
+ _mm512_castbf16_si512(__m512bh __a) {
76
+ return (__m512i)__a;
77
+ }
78
+
79
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_castps_pbh(__m512 __a) {
80
+ return (__m512bh)__a;
81
+ }
82
+
83
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
84
+ _mm512_castpd_pbh(__m512d __a) {
85
+ return (__m512bh)__a;
86
+ }
87
+
88
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
89
+ _mm512_castsi512_pbh(__m512i __a) {
90
+ return (__m512bh)__a;
91
+ }
92
+
93
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS512
94
+ _mm512_castbf16512_pbh128(__m512bh __a) {
95
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7);
96
+ }
97
+
98
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS512
99
+ _mm512_castbf16512_pbh256(__m512bh __a) {
100
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
101
+ 12, 13, 14, 15);
102
+ }
103
+
104
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
105
+ _mm512_castbf16128_pbh512(__m128bh __a) {
106
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1,
107
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
108
+ -1, -1, -1, -1, -1, -1, -1, -1, -1);
109
+ }
110
+
111
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
112
+ _mm512_castbf16256_pbh512(__m256bh __a) {
113
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
114
+ 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1,
115
+ -1, -1, -1, -1, -1, -1, -1, -1);
116
+ }
117
+
118
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
119
+ _mm512_zextbf16128_pbh512(__m128bh __a) {
120
+ return __builtin_shufflevector(
121
+ __a, (__v8bf)_mm_setzero_pbh(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
122
+ 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 15, 8, 9, 10, 11, 12, 13, 14, 15);
123
+ }
124
+
125
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
126
+ _mm512_zextbf16256_pbh512(__m256bh __a) {
127
+ return __builtin_shufflevector(__a, (__v16bf)_mm256_setzero_pbh(), 0, 1, 2, 3,
128
+ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
129
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
130
+ 29, 30, 31);
131
+ }
132
+
133
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_abs_pbh(__m512bh __A) {
134
+ return (__m512bh)_mm512_and_epi32(_mm512_set1_epi32(0x7FFF7FFF),
135
+ (__m512i)__A);
136
+ }
137
+
138
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
139
+ _mm512_load_pbh(void const *__p) {
140
+ return *(const __m512bh *)__p;
141
+ }
142
+
143
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
144
+ _mm512_loadu_pbh(void const *__p) {
145
+ struct __loadu_pbh {
146
+ __m512bh_u __v;
147
+ } __attribute__((__packed__, __may_alias__));
148
+ return ((const struct __loadu_pbh *)__p)->__v;
149
+ }
150
+
151
+ static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_store_pbh(void *__P,
152
+ __m512bh __A) {
153
+ *(__m512bh *)__P = __A;
154
+ }
155
+
156
+ static __inline__ void __DEFAULT_FN_ATTRS512 _mm512_storeu_pbh(void *__P,
157
+ __m512bh __A) {
158
+ struct __storeu_pbh {
159
+ __m512bh_u __v;
160
+ } __attribute__((__packed__, __may_alias__));
161
+ ((struct __storeu_pbh *)__P)->__v = __A;
162
+ }
163
+
164
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
165
+ _mm512_mask_blend_pbh(__mmask32 __U, __m512bh __A, __m512bh __W) {
166
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U, (__v32bf)__W,
167
+ (__v32bf)__A);
168
+ }
169
+
170
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
171
+ _mm512_permutex2var_pbh(__m512bh __A, __m512i __I, __m512bh __B) {
172
+ return (__m512bh)__builtin_ia32_vpermi2varhi512((__v32hi)__A, (__v32hi)__I,
173
+ (__v32hi)__B);
174
+ }
175
+
176
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
177
+ _mm512_permutexvar_pbh(__m512i __A, __m512bh __B) {
178
+ return (__m512bh)__builtin_ia32_permvarhi512((__v32hi)__B, (__v32hi)__A);
179
+ }
180
+
181
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_add_pbh(__m512bh __A,
182
+ __m512bh __B) {
183
+ return (__m512bh)((__v32bf)__A + (__v32bf)__B);
184
+ }
185
+
186
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
187
+ _mm512_mask_add_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
188
+ return (__m512bh)__builtin_ia32_selectpbf_512(
189
+ (__mmask32)__U, (__v32bf)_mm512_add_pbh(__A, __B), (__v32bf)__W);
190
+ }
191
+
192
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
193
+ _mm512_maskz_add_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
194
+ return (__m512bh)__builtin_ia32_selectpbf_512(
195
+ (__mmask32)__U, (__v32bf)_mm512_add_pbh(__A, __B),
196
+ (__v32bf)_mm512_setzero_pbh());
197
+ }
198
+
199
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_sub_pbh(__m512bh __A,
200
+ __m512bh __B) {
201
+ return (__m512bh)((__v32bf)__A - (__v32bf)__B);
202
+ }
203
+
204
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
205
+ _mm512_mask_sub_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
206
+ return (__m512bh)__builtin_ia32_selectpbf_512(
207
+ (__mmask32)__U, (__v32bf)_mm512_sub_pbh(__A, __B), (__v32bf)__W);
208
+ }
209
+
210
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
211
+ _mm512_maskz_sub_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
212
+ return (__m512bh)__builtin_ia32_selectpbf_512(
213
+ (__mmask32)__U, (__v32bf)_mm512_sub_pbh(__A, __B),
214
+ (__v32bf)_mm512_setzero_pbh());
215
+ }
216
+
217
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mul_pbh(__m512bh __A,
218
+ __m512bh __B) {
219
+ return (__m512bh)((__v32bf)__A * (__v32bf)__B);
220
+ }
221
+
222
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
223
+ _mm512_mask_mul_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
224
+ return (__m512bh)__builtin_ia32_selectpbf_512(
225
+ (__mmask32)__U, (__v32bf)_mm512_mul_pbh(__A, __B), (__v32bf)__W);
226
+ }
227
+
228
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
229
+ _mm512_maskz_mul_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
230
+ return (__m512bh)__builtin_ia32_selectpbf_512(
231
+ (__mmask32)__U, (__v32bf)_mm512_mul_pbh(__A, __B),
232
+ (__v32bf)_mm512_setzero_pbh());
233
+ }
234
+
235
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_div_pbh(__m512bh __A,
236
+ __m512bh __B) {
237
+ return (__m512bh)((__v32bf)__A / (__v32bf)__B);
238
+ }
239
+
240
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
241
+ _mm512_mask_div_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
242
+ return (__m512bh)__builtin_ia32_selectpbf_512(
243
+ (__mmask32)__U, (__v32bf)_mm512_div_pbh(__A, __B), (__v32bf)__W);
244
+ }
245
+
246
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
247
+ _mm512_maskz_div_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
248
+ return (__m512bh)__builtin_ia32_selectpbf_512(
249
+ (__mmask32)__U, (__v32bf)_mm512_div_pbh(__A, __B),
250
+ (__v32bf)_mm512_setzero_pbh());
251
+ }
252
+
253
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_max_pbh(__m512bh __A,
254
+ __m512bh __B) {
255
+ return (__m512bh)__builtin_ia32_vmaxbf16512((__v32bf)__A, (__v32bf)__B);
256
+ }
257
+
258
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
259
+ _mm512_mask_max_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
260
+ return (__m512bh)__builtin_ia32_selectpbf_512(
261
+ (__mmask32)__U, (__v32bf)_mm512_max_pbh(__A, __B), (__v32bf)__W);
262
+ }
263
+
264
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
265
+ _mm512_maskz_max_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
266
+ return (__m512bh)__builtin_ia32_selectpbf_512(
267
+ (__mmask32)__U, (__v32bf)_mm512_max_pbh(__A, __B),
268
+ (__v32bf)_mm512_setzero_pbh());
269
+ }
270
+
271
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_min_pbh(__m512bh __A,
272
+ __m512bh __B) {
273
+ return (__m512bh)__builtin_ia32_vminbf16512((__v32bf)__A, (__v32bf)__B);
274
+ }
275
+
276
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
277
+ _mm512_mask_min_pbh(__m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
278
+ return (__m512bh)__builtin_ia32_selectpbf_512(
279
+ (__mmask32)__U, (__v32bf)_mm512_min_pbh(__A, __B), (__v32bf)__W);
280
+ }
281
+
282
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
283
+ _mm512_maskz_min_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
284
+ return (__m512bh)__builtin_ia32_selectpbf_512(
285
+ (__mmask32)__U, (__v32bf)_mm512_min_pbh(__A, __B),
286
+ (__v32bf)_mm512_setzero_pbh());
287
+ }
288
+
289
+ #define _mm512_cmp_pbh_mask(__A, __B, __P) \
290
+ ((__mmask32)__builtin_ia32_vcmpbf16512_mask((__v32bf)(__m512bh)(__A), \
291
+ (__v32bf)(__m512bh)(__B), \
292
+ (int)(__P), (__mmask32) - 1))
293
+
294
+ #define _mm512_mask_cmp_pbh_mask(__U, __A, __B, __P) \
295
+ ((__mmask32)__builtin_ia32_vcmpbf16512_mask((__v32bf)(__m512bh)(__A), \
296
+ (__v32bf)(__m512bh)(__B), \
297
+ (int)(__P), (__mmask32)(__U)))
298
+
299
+ #define _mm512_mask_fpclass_pbh_mask(__U, __A, imm) \
300
+ ((__mmask32)__builtin_ia32_vfpclassbf16512_mask( \
301
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__mmask32)(__U)))
302
+
303
+ #define _mm512_fpclass_pbh_mask(__A, imm) \
304
+ ((__mmask32)__builtin_ia32_vfpclassbf16512_mask( \
305
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__mmask32) - 1))
306
+
307
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
308
+ _mm512_scalef_pbh(__m512bh __A, __m512bh __B) {
309
+ return (__m512bh)__builtin_ia32_vscalefbf16512_mask(
310
+ (__v32bf)__A, (__v32bf)__B, (__v32bf)_mm512_undefined_pbh(),
311
+ (__mmask32)-1);
312
+ }
313
+
314
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_scalef_pbh(
315
+ __m512bh __W, __mmask32 __U, __m512bh __A, __m512bh __B) {
316
+ return (__m512bh)__builtin_ia32_vscalefbf16512_mask(
317
+ (__v32bf)__A, (__v32bf)__B, (__v32bf)__W, (__mmask32)__U);
318
+ }
319
+
320
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
321
+ _mm512_maskz_scalef_pbh(__mmask32 __U, __m512bh __A, __m512bh __B) {
322
+ return (__m512bh)__builtin_ia32_vscalefbf16512_mask(
323
+ (__v32bf)__A, (__v32bf)__B, (__v32bf)_mm512_setzero_pbh(),
324
+ (__mmask32)__U);
325
+ }
326
+
327
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_rcp_pbh(__m512bh __A) {
328
+ return (__m512bh)__builtin_ia32_vrcpbf16512_mask(
329
+ (__v32bf)__A, (__v32bf)_mm512_undefined_pbh(), (__mmask32)-1);
330
+ }
331
+
332
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
333
+ _mm512_mask_rcp_pbh(__m512bh __W, __mmask32 __U, __m512bh __A) {
334
+ return (__m512bh)__builtin_ia32_vrcpbf16512_mask((__v32bf)__A, (__v32bf)__W,
335
+ (__mmask32)__U);
336
+ }
337
+
338
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
339
+ _mm512_maskz_rcp_pbh(__mmask32 __U, __m512bh __A) {
340
+ return (__m512bh)__builtin_ia32_vrcpbf16512_mask(
341
+ (__v32bf)__A, (__v32bf)_mm512_setzero_pbh(), (__mmask32)__U);
342
+ }
343
+
344
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
345
+ _mm512_getexp_pbh(__m512bh __A) {
346
+ return (__m512bh)__builtin_ia32_vgetexpbf16512_mask(
347
+ (__v32bf)__A, (__v32bf)_mm512_undefined_pbh(), (__mmask32)-1);
348
+ }
349
+
350
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
351
+ _mm512_mask_getexp_pbh(__m512bh __W, __mmask32 __U, __m512bh __A) {
352
+ return (__m512bh)__builtin_ia32_vgetexpbf16512_mask(
353
+ (__v32bf)__A, (__v32bf)__W, (__mmask32)__U);
354
+ }
355
+
356
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
357
+ _mm512_maskz_getexp_pbh(__mmask32 __U, __m512bh __A) {
358
+ return (__m512bh)__builtin_ia32_vgetexpbf16512_mask(
359
+ (__v32bf)__A, (__v32bf)_mm512_setzero_pbh(), (__mmask32)__U);
360
+ }
361
+
362
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
363
+ _mm512_rsqrt_pbh(__m512bh __A) {
364
+ return (__m512bh)__builtin_ia32_vrsqrtbf16512_mask(
365
+ (__v32bf)__A, (__v32bf)_mm512_undefined_pbh(), (__mmask32)-1);
366
+ }
367
+
368
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
369
+ _mm512_mask_rsqrt_pbh(__m512bh __W, __mmask32 __U, __m512bh __A) {
370
+ return (__m512bh)__builtin_ia32_vrsqrtbf16512_mask((__v32bf)__A, (__v32bf)__W,
371
+ (__mmask32)__U);
372
+ }
373
+
374
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
375
+ _mm512_maskz_rsqrt_pbh(__mmask32 __U, __m512bh __A) {
376
+ return (__m512bh)__builtin_ia32_vrsqrtbf16512_mask(
377
+ (__v32bf)__A, (__v32bf)_mm512_setzero_pbh(), (__mmask32)__U);
378
+ }
379
+
380
+ #define _mm512_reduce_pbh(__A, imm) \
381
+ ((__m512bh)__builtin_ia32_vreducebf16512_mask( \
382
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)_mm512_undefined_pbh(), \
383
+ (__mmask32) - 1))
384
+
385
+ #define _mm512_mask_reduce_pbh(__W, __U, __A, imm) \
386
+ ((__m512bh)__builtin_ia32_vreducebf16512_mask( \
387
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)(__m512bh)(__W), \
388
+ (__mmask32)(__U)))
389
+
390
+ #define _mm512_maskz_reduce_pbh(__U, __A, imm) \
391
+ ((__m512bh)__builtin_ia32_vreducebf16512_mask( \
392
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)_mm512_setzero_pbh(), \
393
+ (__mmask32)(__U)))
394
+
395
+ #define _mm512_roundscale_pbh(__A, imm) \
396
+ ((__m512bh)__builtin_ia32_vrndscalebf16_mask( \
397
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)_mm512_setzero_pbh(), \
398
+ (__mmask32) - 1))
399
+
400
+ #define _mm512_mask_roundscale_pbh(__W, __U, __A, imm) \
401
+ ((__m512bh)__builtin_ia32_vrndscalebf16_mask( \
402
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)(__m512bh)(__W), \
403
+ (__mmask32)(__U)))
404
+
405
+ #define _mm512_maskz_roundscale_pbh(__U, __A, imm) \
406
+ ((__m512bh)__builtin_ia32_vrndscalebf16_mask( \
407
+ (__v32bf)(__m512bh)(__A), (int)(imm), (__v32bf)_mm512_setzero_pbh(), \
408
+ (__mmask32)(__U)))
409
+
410
+ #define _mm512_getmant_pbh(__A, __B, __C) \
411
+ ((__m512bh)__builtin_ia32_vgetmantbf16512_mask( \
412
+ (__v32bf)(__m512bh)(__A), (int)(((__C) << 2) | (__B)), \
413
+ (__v32bf)_mm512_undefined_pbh(), (__mmask32) - 1))
414
+
415
+ #define _mm512_mask_getmant_pbh(__W, __U, __A, __B, __C) \
416
+ ((__m512bh)__builtin_ia32_vgetmantbf16512_mask( \
417
+ (__v32bf)(__m512bh)(__A), (int)(((__C) << 2) | (__B)), \
418
+ (__v32bf)(__m512bh)(__W), (__mmask32)(__U)))
419
+
420
+ #define _mm512_maskz_getmant_pbh(__U, __A, __B, __C) \
421
+ ((__m512bh)__builtin_ia32_vgetmantbf16512_mask( \
422
+ (__v32bf)(__m512bh)(__A), (int)(((__C) << 2) | (__B)), \
423
+ (__v32bf)_mm512_setzero_pbh(), (__mmask32)(__U)))
424
+
425
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_sqrt_pbh(__m512bh __A) {
426
+ return (__m512bh)__builtin_ia32_vsqrtbf16512((__v32bf)__A);
427
+ }
428
+
429
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
430
+ _mm512_mask_sqrt_pbh(__m512bh __W, __mmask32 __U, __m512bh __A) {
431
+ return (__m512bh)__builtin_ia32_selectpbf_512(
432
+ (__mmask32)__U, (__v32bf)_mm512_sqrt_pbh(__A), (__v32bf)__W);
433
+ }
434
+
435
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
436
+ _mm512_maskz_sqrt_pbh(__mmask32 __U, __m512bh __A) {
437
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
438
+ (__v32bf)_mm512_sqrt_pbh(__A),
439
+ (__v32bf)_mm512_setzero_pbh());
440
+ }
441
+
442
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
443
+ _mm512_fmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
444
+ return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, (__v32bf)__B,
445
+ (__v32bf)__C);
446
+ }
447
+
448
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
449
+ _mm512_mask_fmadd_pbh(__m512bh __A, __mmask32 __U, __m512bh __B, __m512bh __C) {
450
+ return (__m512bh)__builtin_ia32_selectpbf_512(
451
+ (__mmask32)__U,
452
+ _mm512_fmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C), (__v32bf)__A);
453
+ }
454
+
455
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask3_fmadd_pbh(
456
+ __m512bh __A, __m512bh __B, __m512bh __C, __mmask32 __U) {
457
+ return (__m512bh)__builtin_ia32_selectpbf_512(
458
+ (__mmask32)__U,
459
+ _mm512_fmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C), (__v32bf)__C);
460
+ }
461
+
462
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmadd_pbh(
463
+ __mmask32 __U, __m512bh __A, __m512bh __B, __m512bh __C) {
464
+ return (__m512bh)__builtin_ia32_selectpbf_512(
465
+ (__mmask32)__U,
466
+ _mm512_fmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
467
+ (__v32bf)_mm512_setzero_pbh());
468
+ }
469
+
470
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
471
+ _mm512_fmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
472
+ return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, (__v32bf)__B,
473
+ -(__v32bf)__C);
474
+ }
475
+
476
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
477
+ _mm512_mask_fmsub_pbh(__m512bh __A, __mmask32 __U, __m512bh __B, __m512bh __C) {
478
+ return (__m512bh)__builtin_ia32_selectpbf_512(
479
+ (__mmask32)__U,
480
+ _mm512_fmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C), (__v32bf)__A);
481
+ }
482
+
483
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask3_fmsub_pbh(
484
+ __m512bh __A, __m512bh __B, __m512bh __C, __mmask32 __U) {
485
+ return (__m512bh)__builtin_ia32_selectpbf_512(
486
+ (__mmask32)__U,
487
+ _mm512_fmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C), (__v32bf)__C);
488
+ }
489
+
490
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmsub_pbh(
491
+ __mmask32 __U, __m512bh __A, __m512bh __B, __m512bh __C) {
492
+ return (__m512bh)__builtin_ia32_selectpbf_512(
493
+ (__mmask32)__U,
494
+ _mm512_fmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
495
+ (__v32bf)_mm512_setzero_pbh());
496
+ }
497
+
498
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
499
+ _mm512_fnmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
500
+ return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, -(__v32bf)__B,
501
+ (__v32bf)__C);
502
+ }
503
+
504
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmadd_pbh(
505
+ __m512bh __A, __mmask32 __U, __m512bh __B, __m512bh __C) {
506
+ return (__m512bh)__builtin_ia32_selectpbf_512(
507
+ (__mmask32)__U,
508
+ _mm512_fnmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
509
+ (__v32bf)__A);
510
+ }
511
+
512
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask3_fnmadd_pbh(
513
+ __m512bh __A, __m512bh __B, __m512bh __C, __mmask32 __U) {
514
+ return (__m512bh)__builtin_ia32_selectpbf_512(
515
+ (__mmask32)__U,
516
+ _mm512_fnmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
517
+ (__v32bf)__C);
518
+ }
519
+
520
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fnmadd_pbh(
521
+ __mmask32 __U, __m512bh __A, __m512bh __B, __m512bh __C) {
522
+ return (__m512bh)__builtin_ia32_selectpbf_512(
523
+ (__mmask32)__U,
524
+ _mm512_fnmadd_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
525
+ (__v32bf)_mm512_setzero_pbh());
526
+ }
527
+
528
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512
529
+ _mm512_fnmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
530
+ return (__m512bh)__builtin_ia32_vfmaddnepbh512((__v32bf)__A, -(__v32bf)__B,
531
+ -(__v32bf)__C);
532
+ }
533
+
534
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmsub_pbh(
535
+ __m512bh __A, __mmask32 __U, __m512bh __B, __m512bh __C) {
536
+ return (__m512bh)__builtin_ia32_selectpbf_512(
537
+ (__mmask32)__U,
538
+ _mm512_fnmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
539
+ (__v32bf)__A);
540
+ }
541
+
542
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask3_fnmsub_pbh(
543
+ __m512bh __A, __m512bh __B, __m512bh __C, __mmask32 __U) {
544
+ return (__m512bh)__builtin_ia32_selectpbf_512(
545
+ (__mmask32)__U,
546
+ _mm512_fnmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
547
+ (__v32bf)__C);
548
+ }
549
+
550
+ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fnmsub_pbh(
551
+ __mmask32 __U, __m512bh __A, __m512bh __B, __m512bh __C) {
552
+ return (__m512bh)__builtin_ia32_selectpbf_512(
553
+ (__mmask32)__U,
554
+ _mm512_fnmsub_pbh((__v32bf)__A, (__v32bf)__B, (__v32bf)__C),
555
+ (__v32bf)_mm512_setzero_pbh());
556
+ }
557
+
558
+ #undef __DEFAULT_FN_ATTRS512
559
+
560
+ #endif
561
+ #endif