@cpp-linter/clang-tidy-win32-x64 19.1.0 → 23.1.3

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 (320) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/23/include/__clang_cuda_complex_builtins.h +236 -0
  4. package/lib/clang/{19 → 23}/include/__clang_cuda_device_functions.h +15 -1
  5. package/lib/clang/{19 → 23}/include/__clang_cuda_intrinsics.h +288 -20
  6. package/lib/clang/{19 → 23}/include/__clang_cuda_math.h +5 -0
  7. package/lib/clang/{19 → 23}/include/__clang_cuda_math_forward_declares.h +5 -0
  8. package/lib/clang/{19 → 23}/include/__clang_cuda_runtime_wrapper.h +28 -5
  9. package/lib/clang/{19 → 23}/include/__clang_cuda_texture_intrinsics.h +437 -2
  10. package/lib/clang/23/include/__clang_gpu_builtin_vars.h +71 -0
  11. package/lib/clang/23/include/__clang_gpu_device_functions.h +411 -0
  12. package/lib/clang/23/include/__clang_gpu_intrinsics.h +242 -0
  13. package/lib/clang/{19 → 23}/include/__clang_hip_cmath.h +15 -9
  14. package/lib/clang/{19 → 23}/include/__clang_hip_libdevice_declares.h +24 -139
  15. package/lib/clang/{19 → 23}/include/__clang_hip_math.h +115 -34
  16. package/lib/clang/{19 → 23}/include/__clang_hip_runtime_wrapper.h +12 -1
  17. package/lib/clang/23/include/__clang_spirv_builtins.h +217 -0
  18. package/lib/clang/23/include/__clang_spirv_libdevice_declares.h +170 -0
  19. package/lib/clang/23/include/__clang_spirv_math.h +719 -0
  20. package/lib/clang/{19/include/float.h → 23/include/__float_float.h} +14 -34
  21. package/lib/clang/23/include/__float_header_macro.h +12 -0
  22. package/lib/clang/23/include/__float_infinity_nan.h +20 -0
  23. package/lib/clang/{19 → 23}/include/__stdarg_va_arg.h +2 -2
  24. package/lib/clang/{19 → 23}/include/adcintrin.h +5 -0
  25. package/lib/clang/{19 → 23}/include/adxintrin.h +5 -0
  26. package/lib/clang/{19 → 23}/include/altivec.h +169 -96
  27. package/lib/clang/23/include/amdgpuintrin.h +164 -0
  28. package/lib/clang/23/include/amdhsa_abi.h +83 -0
  29. package/lib/clang/23/include/amo.h +220 -0
  30. package/lib/clang/23/include/amxavx512intrin.h +596 -0
  31. package/lib/clang/{19 → 23}/include/amxcomplexintrin.h +4 -6
  32. package/lib/clang/{19 → 23}/include/amxfp16intrin.h +35 -0
  33. package/lib/clang/23/include/amxfp8intrin.h +230 -0
  34. package/lib/clang/{19 → 23}/include/amxintrin.h +3 -35
  35. package/lib/clang/23/include/amxmovrsintrin.h +48 -0
  36. package/lib/clang/23/include/andes_vector.h +21 -0
  37. package/lib/clang/23/include/arm64_neon.h +21 -0
  38. package/lib/clang/{19 → 23}/include/arm64intr.h +10 -0
  39. package/lib/clang/{19 → 23}/include/arm_acle.h +67 -89
  40. package/lib/clang/{19 → 23}/include/arm_fp16.h +89 -89
  41. package/lib/clang/{19 → 23}/include/arm_neon.h +43614 -38901
  42. package/lib/clang/{19 → 23}/include/arm_sme.h +1028 -94
  43. package/lib/clang/{19 → 23}/include/arm_sve.h +7331 -5170
  44. package/lib/clang/{19 → 23}/include/arm_vector_types.h +87 -0
  45. package/lib/clang/23/include/avx10_2_512bf16intrin.h +568 -0
  46. package/lib/clang/23/include/avx10_2_512convertintrin.h +322 -0
  47. package/lib/clang/23/include/avx10_2_512minmaxintrin.h +127 -0
  48. package/lib/clang/23/include/avx10_2_512niintrin.h +314 -0
  49. package/lib/clang/23/include/avx10_2_512satcvtdsintrin.h +307 -0
  50. package/lib/clang/23/include/avx10_2_512satcvtintrin.h +301 -0
  51. package/lib/clang/23/include/avx10_2bf16intrin.h +1094 -0
  52. package/lib/clang/23/include/avx10_2convertintrin.h +3257 -0
  53. package/lib/clang/23/include/avx10_2copyintrin.h +66 -0
  54. package/lib/clang/23/include/avx10_2minmaxintrin.h +232 -0
  55. package/lib/clang/23/include/avx10_2niintrin.h +409 -0
  56. package/lib/clang/23/include/avx10_2satcvtdsintrin.h +376 -0
  57. package/lib/clang/23/include/avx10_2satcvtintrin.h +312 -0
  58. package/lib/clang/{19 → 23}/include/avx2intrin.h +284 -378
  59. package/lib/clang/{19 → 23}/include/avx512bf16intrin.h +25 -16
  60. package/lib/clang/{19 → 23}/include/avx512bitalgintrin.h +21 -32
  61. package/lib/clang/23/include/avx512bmmintrin.h +174 -0
  62. package/lib/clang/23/include/avx512bmmvlintrin.h +245 -0
  63. package/lib/clang/{19 → 23}/include/avx512bwintrin.h +405 -534
  64. package/lib/clang/23/include/avx512cdintrin.h +112 -0
  65. package/lib/clang/{19 → 23}/include/avx512dqintrin.h +132 -161
  66. package/lib/clang/{19 → 23}/include/avx512fintrin.h +1068 -1496
  67. package/lib/clang/{19 → 23}/include/avx512fp16intrin.h +126 -129
  68. package/lib/clang/23/include/avx512ifmaintrin.h +68 -0
  69. package/lib/clang/23/include/avx512ifmavlintrin.h +138 -0
  70. package/lib/clang/{19 → 23}/include/avx512vbmi2intrin.h +55 -48
  71. package/lib/clang/{19 → 23}/include/avx512vbmiintrin.h +19 -27
  72. package/lib/clang/{19 → 23}/include/avx512vbmivlintrin.h +35 -49
  73. package/lib/clang/{19 → 23}/include/avx512vlbf16intrin.h +32 -22
  74. package/lib/clang/{19 → 23}/include/avx512vlbitalgintrin.h +41 -57
  75. package/lib/clang/{19 → 23}/include/avx512vlbwintrin.h +494 -609
  76. package/lib/clang/23/include/avx512vlcdintrin.h +202 -0
  77. package/lib/clang/{19 → 23}/include/avx512vldqintrin.h +110 -127
  78. package/lib/clang/{19 → 23}/include/avx512vlfp16intrin.h +130 -111
  79. package/lib/clang/{19 → 23}/include/avx512vlintrin.h +1025 -1395
  80. package/lib/clang/{19 → 23}/include/avx512vlvbmi2intrin.h +102 -95
  81. package/lib/clang/{19 → 23}/include/avx512vlvnniintrin.h +50 -52
  82. package/lib/clang/{19 → 23}/include/avx512vlvp2intersectintrin.h +2 -2
  83. package/lib/clang/{19 → 23}/include/avx512vnniintrin.h +42 -45
  84. package/lib/clang/{19 → 23}/include/avx512vp2intersectintrin.h +2 -3
  85. package/lib/clang/{19 → 23}/include/avx512vpopcntdqintrin.h +10 -4
  86. package/lib/clang/{19 → 23}/include/avx512vpopcntdqvlintrin.h +20 -10
  87. package/lib/clang/{19 → 23}/include/avxifmaintrin.h +16 -0
  88. package/lib/clang/{19 → 23}/include/avxintrin.h +186 -248
  89. package/lib/clang/{19 → 23}/include/avxvnniint16intrin.h +130 -152
  90. package/lib/clang/{19 → 23}/include/avxvnniint8intrin.h +68 -85
  91. package/lib/clang/{19 → 23}/include/avxvnniintrin.h +39 -26
  92. package/lib/clang/{19 → 23}/include/bmi2intrin.h +15 -17
  93. package/lib/clang/{19 → 23}/include/bmiintrin.h +31 -41
  94. package/lib/clang/{19 → 23}/include/cmpccxaddintrin.h +1 -1
  95. package/lib/clang/{19 → 23}/include/cpuid.h +137 -37
  96. package/lib/clang/{19 → 23}/include/crc32intrin.h +10 -8
  97. package/lib/clang/23/include/cuda_wrappers/__utility/declval.h +28 -0
  98. package/lib/clang/23/include/cuda_wrappers/bits/c++config.h +61 -0
  99. package/lib/clang/23/include/cuda_wrappers/cmath +44 -0
  100. package/lib/clang/{19 → 23}/include/cuda_wrappers/new +2 -0
  101. package/lib/clang/{19 → 23}/include/emmintrin.h +306 -272
  102. package/lib/clang/23/include/endian.h +91 -0
  103. package/lib/clang/{19 → 23}/include/f16cintrin.h +23 -9
  104. package/lib/clang/23/include/float.h +48 -0
  105. package/lib/clang/23/include/fma4intrin.h +220 -0
  106. package/lib/clang/{19 → 23}/include/fmaintrin.h +96 -66
  107. package/lib/clang/{19 → 23}/include/gfniintrin.h +39 -12
  108. package/lib/clang/23/include/gpuintrin.h +348 -0
  109. package/lib/clang/{19 → 23}/include/hexagon_types.h +31 -24
  110. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics.h +222 -0
  111. package/lib/clang/23/include/hlsl/hlsl_alias_intrinsics_gen.inc +3869 -0
  112. package/lib/clang/23/include/hlsl/hlsl_basic_types.h +370 -0
  113. package/lib/clang/23/include/hlsl/hlsl_compat_overloads.h +559 -0
  114. package/lib/clang/23/include/hlsl/hlsl_detail.h +56 -0
  115. package/lib/clang/23/include/hlsl/hlsl_inline_intrinsics_gen.inc +546 -0
  116. package/lib/clang/23/include/hlsl/hlsl_intrinsic_helpers.h +170 -0
  117. package/lib/clang/23/include/hlsl/hlsl_intrinsics.h +331 -0
  118. package/lib/clang/23/include/hlsl/hlsl_spirv.h +28 -0
  119. package/lib/clang/23/include/hlsl.h +38 -0
  120. package/lib/clang/{19 → 23}/include/hvx_hexagon_protos.h +1041 -803
  121. package/lib/clang/{19 → 23}/include/immintrin.h +35 -185
  122. package/lib/clang/{19 → 23}/include/intrin.h +62 -21
  123. package/lib/clang/{19 → 23}/include/intrin0.h +10 -1
  124. package/lib/clang/{19 → 23}/include/keylockerintrin.h +0 -9
  125. package/lib/clang/{19 → 23}/include/larchintrin.h +24 -8
  126. package/lib/clang/{19 → 23}/include/lasxintrin.h +140 -25
  127. package/lib/clang/{19 → 23}/include/limits.h +7 -4
  128. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/assert.h +3 -5
  129. package/lib/clang/23/include/llvm_libc_wrappers/ctype.h +29 -0
  130. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/inttypes.h +3 -5
  131. package/lib/clang/23/include/llvm_libc_wrappers/stdio.h +52 -0
  132. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/stdlib.h +3 -16
  133. package/lib/clang/23/include/llvm_libc_wrappers/string.h +29 -0
  134. package/lib/clang/{19 → 23}/include/llvm_libc_wrappers/time.h +4 -10
  135. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  136. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  137. package/lib/clang/23/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  138. package/lib/clang/{19 → 23}/include/lsxintrin.h +27 -25
  139. package/lib/clang/{19 → 23}/include/lzcntintrin.h +13 -8
  140. package/lib/clang/{19 → 23}/include/mmintrin.h +241 -256
  141. package/lib/clang/{19 → 23}/include/module.modulemap +54 -9
  142. package/lib/clang/23/include/movrs_avx10_2_512intrin.h +98 -0
  143. package/lib/clang/23/include/movrs_avx10_2intrin.h +174 -0
  144. package/lib/clang/23/include/movrsintrin.h +59 -0
  145. package/lib/clang/23/include/nvptxintrin.h +208 -0
  146. package/lib/clang/{19 → 23}/include/opencl-c-base.h +28 -92
  147. package/lib/clang/{19 → 23}/include/opencl-c.h +506 -140
  148. package/lib/clang/{19 → 23}/include/openmp_wrappers/__clang_openmp_device_functions.h +18 -5
  149. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex +7 -1
  150. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex.h +6 -0
  151. package/lib/clang/{19 → 23}/include/openmp_wrappers/complex_cmath.h +7 -2
  152. package/lib/clang/{19 → 23}/include/openmp_wrappers/math.h +10 -0
  153. package/lib/clang/{19 → 23}/include/pmmintrin.h +24 -23
  154. package/lib/clang/{19 → 23}/include/popcntintrin.h +7 -7
  155. package/lib/clang/{19 → 23}/include/prfchwintrin.h +10 -13
  156. package/lib/clang/{19 → 23}/include/ptrauth.h +169 -14
  157. package/lib/clang/{19 → 23}/include/riscv_bitmanip.h +7 -0
  158. package/lib/clang/23/include/riscv_corev_alu.h +130 -0
  159. package/lib/clang/{19 → 23}/include/riscv_crypto.h +8 -0
  160. package/lib/clang/23/include/riscv_mips.h +36 -0
  161. package/lib/clang/23/include/riscv_nds.h +92 -0
  162. package/lib/clang/{19 → 23}/include/riscv_ntlh.h +2 -0
  163. package/lib/clang/23/include/riscv_packed_simd.h +644 -0
  164. package/lib/clang/{19 → 23}/include/riscv_vector.h +43 -5
  165. package/lib/clang/{19 → 23}/include/shaintrin.h +3 -2
  166. package/lib/clang/{19 → 23}/include/sifive_vector.h +76 -2
  167. package/lib/clang/23/include/sm4evexintrin.h +32 -0
  168. package/lib/clang/{19 → 23}/include/smmintrin.h +80 -56
  169. package/lib/clang/23/include/spirvintrin.h +167 -0
  170. package/lib/clang/{19 → 23}/include/stdalign.h +0 -5
  171. package/lib/clang/23/include/stdcountof.h +15 -0
  172. package/lib/clang/23/include/stddefer.h +19 -0
  173. package/lib/clang/{19 → 23}/include/stdint.h +23 -143
  174. package/lib/clang/{19 → 23}/include/tbmintrin.h +25 -37
  175. package/lib/clang/{19 → 23}/include/tmmintrin.h +125 -130
  176. package/lib/clang/{19 → 23}/include/vaesintrin.h +1 -2
  177. package/lib/clang/{19 → 23}/include/vecintrin.h +1783 -60
  178. package/lib/clang/{19 → 23}/include/wasm_simd128.h +184 -21
  179. package/lib/clang/{19 → 23}/include/x86gprintrin.h +0 -14
  180. package/lib/clang/{19 → 23}/include/x86intrin.h +0 -18
  181. package/lib/clang/{19 → 23}/include/xmmintrin.h +190 -221
  182. package/lib/clang/{19 → 23}/include/xopintrin.h +20 -10
  183. package/lib/clang/23/include/zos_wrappers/grp.h +19 -0
  184. package/lib/clang/23/include/zos_wrappers/locale.h +19 -0
  185. package/lib/clang/23/include/zos_wrappers/math.h +31 -0
  186. package/lib/clang/23/include/zos_wrappers/poll.h +19 -0
  187. package/lib/clang/23/include/zos_wrappers/stdlib.h +20 -0
  188. package/lib/clang/23/include/zos_wrappers/string.h +19 -0
  189. package/lib/clang/23/include/zos_wrappers/time.h +19 -0
  190. package/lib/clang/23/include/zos_wrappers/variant.h +19 -0
  191. package/package.json +6 -6
  192. package/lib/clang/19/include/__clang_cuda_complex_builtins.h +0 -285
  193. package/lib/clang/19/include/avx512cdintrin.h +0 -125
  194. package/lib/clang/19/include/avx512ifmaintrin.h +0 -70
  195. package/lib/clang/19/include/avx512ifmavlintrin.h +0 -111
  196. package/lib/clang/19/include/avx512vlcdintrin.h +0 -230
  197. package/lib/clang/19/include/cuda_wrappers/cmath +0 -90
  198. package/lib/clang/19/include/fma4intrin.h +0 -218
  199. package/lib/clang/19/include/hlsl/hlsl_basic_types.h +0 -74
  200. package/lib/clang/19/include/hlsl/hlsl_intrinsics.h +0 -1697
  201. package/lib/clang/19/include/hlsl.h +0 -15
  202. package/lib/clang/19/include/llvm_libc_wrappers/ctype.h +0 -102
  203. package/lib/clang/19/include/llvm_libc_wrappers/stdio.h +0 -80
  204. package/lib/clang/19/include/llvm_libc_wrappers/string.h +0 -96
  205. /package/lib/clang/{19 → 23}/include/__clang_cuda_builtin_vars.h +0 -0
  206. /package/lib/clang/{19 → 23}/include/__clang_cuda_cmath.h +0 -0
  207. /package/lib/clang/{19 → 23}/include/__clang_cuda_libdevice_declares.h +0 -0
  208. /package/lib/clang/{19 → 23}/include/__clang_hip_stdlib.h +0 -0
  209. /package/lib/clang/{19 → 23}/include/__stdarg___gnuc_va_list.h +0 -0
  210. /package/lib/clang/{19 → 23}/include/__stdarg___va_copy.h +0 -0
  211. /package/lib/clang/{19 → 23}/include/__stdarg_header_macro.h +0 -0
  212. /package/lib/clang/{19 → 23}/include/__stdarg_va_copy.h +0 -0
  213. /package/lib/clang/{19 → 23}/include/__stdarg_va_list.h +0 -0
  214. /package/lib/clang/{19 → 23}/include/__stddef_header_macro.h +0 -0
  215. /package/lib/clang/{19 → 23}/include/__stddef_max_align_t.h +0 -0
  216. /package/lib/clang/{19 → 23}/include/__stddef_null.h +0 -0
  217. /package/lib/clang/{19 → 23}/include/__stddef_nullptr_t.h +0 -0
  218. /package/lib/clang/{19 → 23}/include/__stddef_offsetof.h +0 -0
  219. /package/lib/clang/{19 → 23}/include/__stddef_ptrdiff_t.h +0 -0
  220. /package/lib/clang/{19 → 23}/include/__stddef_rsize_t.h +0 -0
  221. /package/lib/clang/{19 → 23}/include/__stddef_size_t.h +0 -0
  222. /package/lib/clang/{19 → 23}/include/__stddef_unreachable.h +0 -0
  223. /package/lib/clang/{19 → 23}/include/__stddef_wchar_t.h +0 -0
  224. /package/lib/clang/{19 → 23}/include/__stddef_wint_t.h +0 -0
  225. /package/lib/clang/{19 → 23}/include/__wmmintrin_aes.h +0 -0
  226. /package/lib/clang/{19 → 23}/include/__wmmintrin_pclmul.h +0 -0
  227. /package/lib/clang/{19 → 23}/include/ammintrin.h +0 -0
  228. /package/lib/clang/{19 → 23}/include/arm_bf16.h +0 -0
  229. /package/lib/clang/{19 → 23}/include/arm_cde.h +0 -0
  230. /package/lib/clang/{19 → 23}/include/arm_cmse.h +0 -0
  231. /package/lib/clang/{19 → 23}/include/arm_mve.h +0 -0
  232. /package/lib/clang/{19 → 23}/include/arm_neon_sve_bridge.h +0 -0
  233. /package/lib/clang/{19 → 23}/include/armintr.h +0 -0
  234. /package/lib/clang/{19 → 23}/include/avxneconvertintrin.h +0 -0
  235. /package/lib/clang/{19 → 23}/include/builtins.h +0 -0
  236. /package/lib/clang/{19 → 23}/include/cet.h +0 -0
  237. /package/lib/clang/{19 → 23}/include/cetintrin.h +0 -0
  238. /package/lib/clang/{19 → 23}/include/cldemoteintrin.h +0 -0
  239. /package/lib/clang/{19 → 23}/include/clflushoptintrin.h +0 -0
  240. /package/lib/clang/{19 → 23}/include/clwbintrin.h +0 -0
  241. /package/lib/clang/{19 → 23}/include/clzerointrin.h +0 -0
  242. /package/lib/clang/{19 → 23}/include/cuda_wrappers/algorithm +0 -0
  243. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.h +0 -0
  244. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  245. /package/lib/clang/{19 → 23}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  246. /package/lib/clang/{19 → 23}/include/cuda_wrappers/complex +0 -0
  247. /package/lib/clang/{19 → 23}/include/enqcmdintrin.h +0 -0
  248. /package/lib/clang/{19 → 23}/include/fxsrintrin.h +0 -0
  249. /package/lib/clang/{19 → 23}/include/hexagon_circ_brev_intrinsics.h +0 -0
  250. /package/lib/clang/{19 → 23}/include/hexagon_protos.h +0 -0
  251. /package/lib/clang/{19 → 23}/include/hresetintrin.h +0 -0
  252. /package/lib/clang/{19 → 23}/include/htmintrin.h +0 -0
  253. /package/lib/clang/{19 → 23}/include/htmxlintrin.h +0 -0
  254. /package/lib/clang/{19 → 23}/include/ia32intrin.h +0 -0
  255. /package/lib/clang/{19 → 23}/include/inttypes.h +0 -0
  256. /package/lib/clang/{19 → 23}/include/invpcidintrin.h +0 -0
  257. /package/lib/clang/{19 → 23}/include/iso646.h +0 -0
  258. /package/lib/clang/{19 → 23}/include/lwpintrin.h +0 -0
  259. /package/lib/clang/{19 → 23}/include/mm3dnow.h +0 -0
  260. /package/lib/clang/{19 → 23}/include/mm_malloc.h +0 -0
  261. /package/lib/clang/{19 → 23}/include/movdirintrin.h +0 -0
  262. /package/lib/clang/{19 → 23}/include/msa.h +0 -0
  263. /package/lib/clang/{19 → 23}/include/mwaitxintrin.h +0 -0
  264. /package/lib/clang/{19 → 23}/include/nmmintrin.h +0 -0
  265. /package/lib/clang/{19 → 23}/include/openmp_wrappers/cmath +0 -0
  266. /package/lib/clang/{19 → 23}/include/openmp_wrappers/new +0 -0
  267. /package/lib/clang/{19 → 23}/include/pconfigintrin.h +0 -0
  268. /package/lib/clang/{19 → 23}/include/pkuintrin.h +0 -0
  269. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmi2intrin.h +0 -0
  270. /package/lib/clang/{19 → 23}/include/ppc_wrappers/bmiintrin.h +0 -0
  271. /package/lib/clang/{19 → 23}/include/ppc_wrappers/emmintrin.h +0 -0
  272. /package/lib/clang/{19 → 23}/include/ppc_wrappers/immintrin.h +0 -0
  273. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mm_malloc.h +0 -0
  274. /package/lib/clang/{19 → 23}/include/ppc_wrappers/mmintrin.h +0 -0
  275. /package/lib/clang/{19 → 23}/include/ppc_wrappers/nmmintrin.h +0 -0
  276. /package/lib/clang/{19 → 23}/include/ppc_wrappers/pmmintrin.h +0 -0
  277. /package/lib/clang/{19 → 23}/include/ppc_wrappers/smmintrin.h +0 -0
  278. /package/lib/clang/{19 → 23}/include/ppc_wrappers/tmmintrin.h +0 -0
  279. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86gprintrin.h +0 -0
  280. /package/lib/clang/{19 → 23}/include/ppc_wrappers/x86intrin.h +0 -0
  281. /package/lib/clang/{19 → 23}/include/ppc_wrappers/xmmintrin.h +0 -0
  282. /package/lib/clang/{19 → 23}/include/prfchiintrin.h +0 -0
  283. /package/lib/clang/{19 → 23}/include/ptwriteintrin.h +0 -0
  284. /package/lib/clang/{19 → 23}/include/raointintrin.h +0 -0
  285. /package/lib/clang/{19 → 23}/include/rdpruintrin.h +0 -0
  286. /package/lib/clang/{19 → 23}/include/rdseedintrin.h +0 -0
  287. /package/lib/clang/{19 → 23}/include/rtmintrin.h +0 -0
  288. /package/lib/clang/{19 → 23}/include/s390intrin.h +0 -0
  289. /package/lib/clang/{19 → 23}/include/serializeintrin.h +0 -0
  290. /package/lib/clang/{19 → 23}/include/sgxintrin.h +0 -0
  291. /package/lib/clang/{19 → 23}/include/sha512intrin.h +0 -0
  292. /package/lib/clang/{19 → 23}/include/sm3intrin.h +0 -0
  293. /package/lib/clang/{19 → 23}/include/sm4intrin.h +0 -0
  294. /package/lib/clang/{19 → 23}/include/stdarg.h +0 -0
  295. /package/lib/clang/{19 → 23}/include/stdatomic.h +0 -0
  296. /package/lib/clang/{19 → 23}/include/stdbool.h +0 -0
  297. /package/lib/clang/{19 → 23}/include/stdckdint.h +0 -0
  298. /package/lib/clang/{19 → 23}/include/stddef.h +0 -0
  299. /package/lib/clang/{19 → 23}/include/stdnoreturn.h +0 -0
  300. /package/lib/clang/{19 → 23}/include/tgmath.h +0 -0
  301. /package/lib/clang/{19 → 23}/include/tsxldtrkintrin.h +0 -0
  302. /package/lib/clang/{19 → 23}/include/uintrintrin.h +0 -0
  303. /package/lib/clang/{19 → 23}/include/unwind.h +0 -0
  304. /package/lib/clang/{19 → 23}/include/usermsrintrin.h +0 -0
  305. /package/lib/clang/{19 → 23}/include/vadefs.h +0 -0
  306. /package/lib/clang/{19 → 23}/include/varargs.h +0 -0
  307. /package/lib/clang/{19 → 23}/include/velintrin.h +0 -0
  308. /package/lib/clang/{19 → 23}/include/velintrin_approx.h +0 -0
  309. /package/lib/clang/{19 → 23}/include/velintrin_gen.h +0 -0
  310. /package/lib/clang/{19 → 23}/include/vpclmulqdqintrin.h +0 -0
  311. /package/lib/clang/{19 → 23}/include/waitpkgintrin.h +0 -0
  312. /package/lib/clang/{19 → 23}/include/wbnoinvdintrin.h +0 -0
  313. /package/lib/clang/{19 → 23}/include/wmmintrin.h +0 -0
  314. /package/lib/clang/{19 → 23}/include/xsavecintrin.h +0 -0
  315. /package/lib/clang/{19 → 23}/include/xsaveintrin.h +0 -0
  316. /package/lib/clang/{19 → 23}/include/xsaveoptintrin.h +0 -0
  317. /package/lib/clang/{19 → 23}/include/xsavesintrin.h +0 -0
  318. /package/lib/clang/{19 → 23}/include/xtestintrin.h +0 -0
  319. /package/lib/clang/{19 → 23}/include/yvals_core.h +0 -0
  320. /package/lib/clang/{19 → 23}/include/zos_wrappers/builtins.h +0 -0
@@ -0,0 +1,1094 @@
1
+ /*===-------------- avx10_2bf16intrin.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_2bf16intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifdef __SSE2__
15
+
16
+ #ifndef __AVX10_2BF16INTRIN_H
17
+ #define __AVX10_2BF16INTRIN_H
18
+
19
+ typedef __bf16 __m128bh_u __attribute__((__vector_size__(16), __aligned__(1)));
20
+ typedef __bf16 __m256bh_u __attribute__((__vector_size__(32), __aligned__(1)));
21
+
22
+ /* Define the default attributes for the functions in this file. */
23
+ #define __DEFAULT_FN_ATTRS256 \
24
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
25
+ __min_vector_width__(256)))
26
+ #define __DEFAULT_FN_ATTRS128 \
27
+ __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
28
+ __min_vector_width__(128)))
29
+
30
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
31
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
32
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
33
+ #else
34
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
35
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
36
+ #endif
37
+
38
+ static __inline __m256bh __DEFAULT_FN_ATTRS256 _mm256_setzero_pbh(void) {
39
+ return __builtin_bit_cast(__m256bh, _mm256_setzero_ps());
40
+ }
41
+
42
+ static __inline __m128bh __DEFAULT_FN_ATTRS128 _mm_setzero_pbh(void) {
43
+ return __builtin_bit_cast(__m128bh, _mm_setzero_ps());
44
+ }
45
+
46
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_castbf16_ps(__m128bh __a) {
47
+ return (__m128)__a;
48
+ }
49
+
50
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
51
+ _mm256_castbf16_ps(__m256bh __a) {
52
+ return (__m256)__a;
53
+ }
54
+
55
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256
56
+ _mm256_castbf16_pd(__m256bh __a) {
57
+ return (__m256d)__a;
58
+ }
59
+
60
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_castbf16_pd(__m128bh __a) {
61
+ return (__m128d)__a;
62
+ }
63
+
64
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
65
+ _mm_castbf16_si128(__m128bh __a) {
66
+ return (__m128i)__a;
67
+ }
68
+
69
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
70
+ _mm256_castbf16_si256(__m256bh __a) {
71
+ return (__m256i)__a;
72
+ }
73
+
74
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_castps_pbh(__m128 __a) {
75
+ return (__m128bh)__a;
76
+ }
77
+
78
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_castps_pbh(__m256 __a) {
79
+ return (__m256bh)__a;
80
+ }
81
+
82
+ static __inline__ __bf16 __DEFAULT_FN_ATTRS128 _mm_cvtsbh_bf16(__m128bh __a) {
83
+ return __a[0];
84
+ }
85
+
86
+ static __inline__ __bf16 __DEFAULT_FN_ATTRS256
87
+ _mm256_cvtsbh_bf16(__m256bh __a) {
88
+ return __a[0];
89
+ }
90
+
91
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_castpd_pbh(__m128d __a) {
92
+ return (__m128bh)__a;
93
+ }
94
+
95
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
96
+ _mm256_castpd_pbh(__m256d __a) {
97
+ return (__m256bh)__a;
98
+ }
99
+
100
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
101
+ _mm_castsi128_pbh(__m128i __a) {
102
+ return (__m128bh)__a;
103
+ }
104
+
105
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
106
+ _mm256_castsi256_pbh(__m256i __a) {
107
+ return (__m256bh)__a;
108
+ }
109
+
110
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS256
111
+ _mm256_castbf16256_pbh128(__m256bh __a) {
112
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7);
113
+ }
114
+
115
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
116
+ _mm256_castbf16128_pbh256(__m128bh __a) {
117
+ return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7, -1, -1, -1,
118
+ -1, -1, -1, -1, -1);
119
+ }
120
+
121
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
122
+ _mm256_zextbf16128_pbh256(__m128bh __a) {
123
+ return __builtin_shufflevector(__a, (__v8bf)_mm_setzero_pbh(), 0, 1, 2, 3, 4,
124
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
125
+ }
126
+
127
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_undefined_pbh(void) {
128
+ return (__m256bh)__builtin_ia32_undef256();
129
+ }
130
+
131
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
132
+ _mm_load_sbh(void const *__dp) {
133
+ __m128bh src = (__v8bf)_mm_setzero_pbh();
134
+ return (__m128bh)__builtin_ia32_loadsbf16128_mask((const __v8bf *)__dp, src,
135
+ 1);
136
+ }
137
+
138
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
139
+ _mm_mask_load_sbh(__m128bh __W, __mmask8 __U, const void *__A) {
140
+ __m128bh src = (__v8bf)__builtin_shufflevector(
141
+ (__v8bf)__W, (__v8bf)_mm_setzero_pbh(), 0, 8, 8, 8, 8, 8, 8, 8);
142
+
143
+ return (__m128bh)__builtin_ia32_loadsbf16128_mask((const __v8bf *)__A, src,
144
+ __U & 1);
145
+ }
146
+
147
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
148
+ _mm_maskz_load_sbh(__mmask8 __U, const void *__A) {
149
+ return (__m128bh)__builtin_ia32_loadsbf16128_mask(
150
+ (const __v8bf *)__A, (__v8bf)_mm_setzero_pbh(), __U & 1);
151
+ }
152
+
153
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
154
+ _mm256_load_pbh(void const *__p) {
155
+ return *(const __m256bh *)__p;
156
+ }
157
+
158
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_load_pbh(void const *__p) {
159
+ return *(const __m128bh *)__p;
160
+ }
161
+
162
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
163
+ _mm256_loadu_pbh(void const *__p) {
164
+ struct __loadu_pbh {
165
+ __m256bh_u __v;
166
+ } __attribute__((__packed__, __may_alias__));
167
+ return ((const struct __loadu_pbh *)__p)->__v;
168
+ }
169
+
170
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
171
+ _mm_loadu_pbh(void const *__p) {
172
+ struct __loadu_pbh {
173
+ __m128bh_u __v;
174
+ } __attribute__((__packed__, __may_alias__));
175
+ return ((const struct __loadu_pbh *)__p)->__v;
176
+ }
177
+
178
+ static __inline__ void __DEFAULT_FN_ATTRS128 _mm_store_sbh(void *__dp,
179
+ __m128bh __a) {
180
+ struct __mm_store_sbh_struct {
181
+ __bf16 __u;
182
+ } __attribute__((__packed__, __may_alias__));
183
+ ((struct __mm_store_sbh_struct *)__dp)->__u = __a[0];
184
+ }
185
+
186
+ static __inline__ void __DEFAULT_FN_ATTRS128 _mm_mask_store_sbh(void *__W,
187
+ __mmask8 __U,
188
+ __m128bh __A) {
189
+ __builtin_ia32_storesbf16128_mask((__v8bf *)__W, __A, __U & 1);
190
+ }
191
+
192
+ static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_store_pbh(void *__P,
193
+ __m256bh __A) {
194
+ *(__m256bh *)__P = __A;
195
+ }
196
+
197
+ static __inline__ void __DEFAULT_FN_ATTRS128 _mm_store_pbh(void *__P,
198
+ __m128bh __A) {
199
+ *(__m128bh *)__P = __A;
200
+ }
201
+
202
+ static __inline__ void __DEFAULT_FN_ATTRS256 _mm256_storeu_pbh(void *__P,
203
+ __m256bh __A) {
204
+ struct __storeu_pbh {
205
+ __m256bh_u __v;
206
+ } __attribute__((__packed__, __may_alias__));
207
+ ((struct __storeu_pbh *)__P)->__v = __A;
208
+ }
209
+
210
+ static __inline__ void __DEFAULT_FN_ATTRS128 _mm_storeu_pbh(void *__P,
211
+ __m128bh __A) {
212
+ struct __storeu_pbh {
213
+ __m128bh_u __v;
214
+ } __attribute__((__packed__, __may_alias__));
215
+ ((struct __storeu_pbh *)__P)->__v = __A;
216
+ }
217
+
218
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_move_sbh(__m128bh __a,
219
+ __m128bh __b) {
220
+ __a[0] = __b[0];
221
+ return __a;
222
+ }
223
+
224
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
225
+ _mm_mask_move_sbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
226
+ return __builtin_ia32_selectsbf_128(__U, _mm_move_sbh(__A, __B), __W);
227
+ }
228
+
229
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
230
+ _mm_maskz_move_sbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
231
+ return __builtin_ia32_selectsbf_128(__U, _mm_move_sbh(__A, __B),
232
+ _mm_setzero_pbh());
233
+ }
234
+
235
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_undefined_pbh(void) {
236
+ return (__m128bh)__builtin_ia32_undef128();
237
+ }
238
+
239
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_set_sbh(__bf16 bf) {
240
+ return (__v8bf)__builtin_shufflevector(
241
+ (__v8bf){bf, bf, bf, bf, bf, bf, bf, bf}, (__v8bf)_mm_setzero_pbh(), 0, 8,
242
+ 8, 8, 8, 8, 8, 8);
243
+ }
244
+
245
+ static __inline __m128bh __DEFAULT_FN_ATTRS128 _mm_set1_pbh(__bf16 bf) {
246
+ return (__m128bh)(__v8bf){bf, bf, bf, bf, bf, bf, bf, bf};
247
+ }
248
+
249
+ static __inline __m256bh __DEFAULT_FN_ATTRS256 _mm256_set1_pbh(__bf16 bf) {
250
+ return (__m256bh)(__v16bf){bf, bf, bf, bf, bf, bf, bf, bf,
251
+ bf, bf, bf, bf, bf, bf, bf, bf};
252
+ }
253
+
254
+ static __inline __m128bh __DEFAULT_FN_ATTRS128
255
+ _mm_set_pbh(__bf16 bf1, __bf16 bf2, __bf16 bf3, __bf16 bf4, __bf16 bf5,
256
+ __bf16 bf6, __bf16 bf7, __bf16 bf8) {
257
+ return (__m128bh)(__v8bf){bf1, bf2, bf3, bf4, bf5, bf6, bf7, bf8};
258
+ }
259
+
260
+ static __inline __m256bh __DEFAULT_FN_ATTRS256 _mm256_set_pbh(
261
+ __bf16 bf1, __bf16 bf2, __bf16 bf3, __bf16 bf4, __bf16 bf5, __bf16 bf6,
262
+ __bf16 bf7, __bf16 bf8, __bf16 bf9, __bf16 bf10, __bf16 bf11, __bf16 bf12,
263
+ __bf16 bf13, __bf16 bf14, __bf16 bf15, __bf16 bf16) {
264
+ return (__m256bh)(__v16bf){bf1, bf2, bf3, bf4, bf5, bf6, bf7, bf8,
265
+ bf9, bf10, bf11, bf12, bf13, bf14, bf15, bf16};
266
+ }
267
+
268
+ #define _mm_setr_pbh(bf1, bf2, bf3, bf4, bf5, bf6, bf7, bf8) \
269
+ _mm_set_pbh((bf8), (bf7), (bf6), (bf5), (bf4), (bf3), (bf2), (bf1))
270
+
271
+ #define _mm256_setr_pbh(bf1, bf2, bf3, bf4, bf5, bf6, bf7, bf8, bf9, bf10, \
272
+ bf11, bf12, bf13, bf14, bf15, bf16) \
273
+ _mm256_set_pbh((bf16), (bf15), (bf14), (bf13), (bf12), (bf11), (bf10), \
274
+ (bf9), (bf8), (bf7), (bf6), (bf5), (bf4), (bf3), (bf2), \
275
+ (bf1))
276
+
277
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_abs_pbh(__m256bh __A) {
278
+ return (__m256bh)_mm256_and_epi32(_mm256_set1_epi32(0x7FFF7FFF),
279
+ (__m256i)__A);
280
+ }
281
+
282
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_abs_pbh(__m128bh __A) {
283
+ return (__m128bh)_mm_and_epi32(_mm_set1_epi32(0x7FFF7FFF), (__m128i)__A);
284
+ }
285
+
286
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
287
+ _mm_mask_blend_pbh(__mmask8 __U, __m128bh __A, __m128bh __W) {
288
+ return (__m128bh)__builtin_ia32_selectpbf_128((__mmask8)__U, (__v8bf)__W,
289
+ (__v8bf)__A);
290
+ }
291
+
292
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
293
+ _mm256_mask_blend_pbh(__mmask16 __U, __m256bh __A, __m256bh __W) {
294
+ return (__m256bh)__builtin_ia32_selectpbf_256((__mmask16)__U, (__v16bf)__W,
295
+ (__v16bf)__A);
296
+ }
297
+
298
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
299
+ _mm_permutex2var_pbh(__m128bh __A, __m128i __I, __m128bh __B) {
300
+ return (__m128bh)__builtin_ia32_vpermi2varhi128((__v8hi)__A, (__v8hi)__I,
301
+ (__v8hi)__B);
302
+ }
303
+
304
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256_CONSTEXPR
305
+ _mm256_permutex2var_pbh(__m256bh __A, __m256i __I, __m256bh __B) {
306
+ return (__m256bh)__builtin_ia32_vpermi2varhi256((__v16hi)__A, (__v16hi)__I,
307
+ (__v16hi)__B);
308
+ }
309
+
310
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
311
+ _mm_permutexvar_pbh(__m128i __A, __m128bh __B) {
312
+ return (__m128bh)__builtin_ia32_permvarhi128((__v8hi)__B, (__v8hi)__A);
313
+ }
314
+
315
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256_CONSTEXPR
316
+ _mm256_permutexvar_pbh(__m256i __A, __m256bh __B) {
317
+ return (__m256bh)__builtin_ia32_permvarhi256((__v16hi)__B, (__v16hi)__A);
318
+ }
319
+
320
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_add_pbh(__m256bh __A,
321
+ __m256bh __B) {
322
+ return (__m256bh)((__v16bf)__A + (__v16bf)__B);
323
+ }
324
+
325
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
326
+ _mm256_mask_add_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
327
+ return (__m256bh)__builtin_ia32_selectpbf_256(
328
+ (__mmask16)__U, (__v16bf)_mm256_add_pbh(__A, __B), (__v16bf)__W);
329
+ }
330
+
331
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
332
+ _mm256_maskz_add_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
333
+ return (__m256bh)__builtin_ia32_selectpbf_256(
334
+ (__mmask16)__U, (__v16bf)_mm256_add_pbh(__A, __B),
335
+ (__v16bf)_mm256_setzero_pbh());
336
+ }
337
+
338
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_add_pbh(__m128bh __A,
339
+ __m128bh __B) {
340
+ return (__m128bh)((__v8bf)__A + (__v8bf)__B);
341
+ }
342
+
343
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
344
+ _mm_mask_add_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
345
+ return (__m128bh)__builtin_ia32_selectpbf_128(
346
+ (__mmask8)__U, (__v8bf)_mm_add_pbh(__A, __B), (__v8bf)__W);
347
+ }
348
+
349
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
350
+ _mm_maskz_add_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
351
+ return (__m128bh)__builtin_ia32_selectpbf_128(
352
+ (__mmask8)__U, (__v8bf)_mm_add_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
353
+ }
354
+
355
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_sub_pbh(__m256bh __A,
356
+ __m256bh __B) {
357
+ return (__m256bh)((__v16bf)__A - (__v16bf)__B);
358
+ }
359
+
360
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
361
+ _mm256_mask_sub_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
362
+ return (__m256bh)__builtin_ia32_selectpbf_256(
363
+ (__mmask16)__U, (__v16bf)_mm256_sub_pbh(__A, __B), (__v16bf)__W);
364
+ }
365
+
366
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
367
+ _mm256_maskz_sub_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
368
+ return (__m256bh)__builtin_ia32_selectpbf_256(
369
+ (__mmask16)__U, (__v16bf)_mm256_sub_pbh(__A, __B),
370
+ (__v16bf)_mm256_setzero_pbh());
371
+ }
372
+
373
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_sub_pbh(__m128bh __A,
374
+ __m128bh __B) {
375
+ return (__m128bh)((__v8bf)__A - (__v8bf)__B);
376
+ }
377
+
378
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
379
+ _mm_mask_sub_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
380
+ return (__m128bh)__builtin_ia32_selectpbf_128(
381
+ (__mmask8)__U, (__v8bf)_mm_sub_pbh(__A, __B), (__v8bf)__W);
382
+ }
383
+
384
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
385
+ _mm_maskz_sub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
386
+ return (__m128bh)__builtin_ia32_selectpbf_128(
387
+ (__mmask8)__U, (__v8bf)_mm_sub_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
388
+ }
389
+
390
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mul_pbh(__m256bh __A,
391
+ __m256bh __B) {
392
+ return (__m256bh)((__v16bf)__A * (__v16bf)__B);
393
+ }
394
+
395
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
396
+ _mm256_mask_mul_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
397
+ return (__m256bh)__builtin_ia32_selectpbf_256(
398
+ (__mmask16)__U, (__v16bf)_mm256_mul_pbh(__A, __B), (__v16bf)__W);
399
+ }
400
+
401
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
402
+ _mm256_maskz_mul_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
403
+ return (__m256bh)__builtin_ia32_selectpbf_256(
404
+ (__mmask16)__U, (__v16bf)_mm256_mul_pbh(__A, __B),
405
+ (__v16bf)_mm256_setzero_pbh());
406
+ }
407
+
408
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_mul_pbh(__m128bh __A,
409
+ __m128bh __B) {
410
+ return (__m128bh)((__v8bf)__A * (__v8bf)__B);
411
+ }
412
+
413
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
414
+ _mm_mask_mul_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
415
+ return (__m128bh)__builtin_ia32_selectpbf_128(
416
+ (__mmask8)__U, (__v8bf)_mm_mul_pbh(__A, __B), (__v8bf)__W);
417
+ }
418
+
419
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
420
+ _mm_maskz_mul_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
421
+ return (__m128bh)__builtin_ia32_selectpbf_128(
422
+ (__mmask8)__U, (__v8bf)_mm_mul_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
423
+ }
424
+
425
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_div_pbh(__m256bh __A,
426
+ __m256bh __B) {
427
+ return (__m256bh)((__v16bf)__A / (__v16bf)__B);
428
+ }
429
+
430
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
431
+ _mm256_mask_div_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
432
+ return (__m256bh)__builtin_ia32_selectpbf_256(
433
+ (__mmask16)__U, (__v16bf)_mm256_div_pbh(__A, __B), (__v16bf)__W);
434
+ }
435
+
436
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
437
+ _mm256_maskz_div_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
438
+ return (__m256bh)__builtin_ia32_selectpbf_256(
439
+ (__mmask16)__U, (__v16bf)_mm256_div_pbh(__A, __B),
440
+ (__v16bf)_mm256_setzero_pbh());
441
+ }
442
+
443
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_div_pbh(__m128bh __A,
444
+ __m128bh __B) {
445
+ return (__m128bh)((__v8bf)__A / (__v8bf)__B);
446
+ }
447
+
448
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
449
+ _mm_mask_div_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
450
+ return (__m128bh)__builtin_ia32_selectpbf_128(
451
+ (__mmask8)__U, (__v8bf)_mm_div_pbh(__A, __B), (__v8bf)__W);
452
+ }
453
+
454
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
455
+ _mm_maskz_div_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
456
+ return (__m128bh)__builtin_ia32_selectpbf_128(
457
+ (__mmask8)__U, (__v8bf)_mm_div_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
458
+ }
459
+
460
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_max_pbh(__m256bh __A,
461
+ __m256bh __B) {
462
+ return (__m256bh)__builtin_ia32_vmaxbf16256((__v16bf)__A, (__v16bf)__B);
463
+ }
464
+
465
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
466
+ _mm256_mask_max_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
467
+ return (__m256bh)__builtin_ia32_selectpbf_256(
468
+ (__mmask16)__U, (__v16bf)_mm256_max_pbh(__A, __B), (__v16bf)__W);
469
+ }
470
+
471
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
472
+ _mm256_maskz_max_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
473
+ return (__m256bh)__builtin_ia32_selectpbf_256(
474
+ (__mmask16)__U, (__v16bf)_mm256_max_pbh(__A, __B),
475
+ (__v16bf)_mm256_setzero_pbh());
476
+ }
477
+
478
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_max_pbh(__m128bh __A,
479
+ __m128bh __B) {
480
+ return (__m128bh)__builtin_ia32_vmaxbf16128((__v8bf)__A, (__v8bf)__B);
481
+ }
482
+
483
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
484
+ _mm_mask_max_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
485
+ return (__m128bh)__builtin_ia32_selectpbf_128(
486
+ (__mmask8)__U, (__v8bf)_mm_max_pbh(__A, __B), (__v8bf)__W);
487
+ }
488
+
489
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
490
+ _mm_maskz_max_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
491
+ return (__m128bh)__builtin_ia32_selectpbf_128(
492
+ (__mmask8)__U, (__v8bf)_mm_max_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
493
+ }
494
+
495
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_min_pbh(__m256bh __A,
496
+ __m256bh __B) {
497
+ return (__m256bh)__builtin_ia32_vminbf16256((__v16bf)__A, (__v16bf)__B);
498
+ }
499
+
500
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
501
+ _mm256_mask_min_pbh(__m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
502
+ return (__m256bh)__builtin_ia32_selectpbf_256(
503
+ (__mmask16)__U, (__v16bf)_mm256_min_pbh(__A, __B), (__v16bf)__W);
504
+ }
505
+
506
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
507
+ _mm256_maskz_min_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
508
+ return (__m256bh)__builtin_ia32_selectpbf_256(
509
+ (__mmask16)__U, (__v16bf)_mm256_min_pbh(__A, __B),
510
+ (__v16bf)_mm256_setzero_pbh());
511
+ }
512
+
513
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_min_pbh(__m128bh __A,
514
+ __m128bh __B) {
515
+ return (__m128bh)__builtin_ia32_vminbf16128((__v8bf)__A, (__v8bf)__B);
516
+ }
517
+
518
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
519
+ _mm_mask_min_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
520
+ return (__m128bh)__builtin_ia32_selectpbf_128(
521
+ (__mmask8)__U, (__v8bf)_mm_min_pbh(__A, __B), (__v8bf)__W);
522
+ }
523
+
524
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
525
+ _mm_maskz_min_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
526
+ return (__m128bh)__builtin_ia32_selectpbf_128(
527
+ (__mmask8)__U, (__v8bf)_mm_min_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
528
+ }
529
+
530
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sbh(__m128bh __A,
531
+ __m128bh __B) {
532
+ return __builtin_ia32_vcomisbf16eq((__v8bf)__A, (__v8bf)__B);
533
+ }
534
+
535
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sbh(__m128bh __A,
536
+ __m128bh __B) {
537
+ return __builtin_ia32_vcomisbf16lt((__v8bf)__A, (__v8bf)__B);
538
+ }
539
+
540
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sbh(__m128bh __A,
541
+ __m128bh __B) {
542
+ return __builtin_ia32_vcomisbf16le((__v8bf)__A, (__v8bf)__B);
543
+ }
544
+
545
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sbh(__m128bh __A,
546
+ __m128bh __B) {
547
+ return __builtin_ia32_vcomisbf16gt((__v8bf)__A, (__v8bf)__B);
548
+ }
549
+
550
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sbh(__m128bh __A,
551
+ __m128bh __B) {
552
+ return __builtin_ia32_vcomisbf16ge((__v8bf)__A, (__v8bf)__B);
553
+ }
554
+
555
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sbh(__m128bh __A,
556
+ __m128bh __B) {
557
+ return __builtin_ia32_vcomisbf16neq((__v8bf)__A, (__v8bf)__B);
558
+ }
559
+
560
+ #define _mm256_cmp_pbh_mask(__A, __B, __P) \
561
+ ((__mmask16)__builtin_ia32_vcmpbf16256_mask((__v16bf)(__m256bh)(__A), \
562
+ (__v16bf)(__m256bh)(__B), \
563
+ (int)(__P), (__mmask16) - 1))
564
+
565
+ #define _mm256_mask_cmp_pbh_mask(__U, __A, __B, __P) \
566
+ ((__mmask16)__builtin_ia32_vcmpbf16256_mask((__v16bf)(__m256bh)(__A), \
567
+ (__v16bf)(__m256bh)(__B), \
568
+ (int)(__P), (__mmask16)(__U)))
569
+
570
+ #define _mm_cmp_pbh_mask(__A, __B, __P) \
571
+ ((__mmask8)__builtin_ia32_vcmpbf16128_mask((__v8bf)(__m128bh)(__A), \
572
+ (__v8bf)(__m128bh)(__B), \
573
+ (int)(__P), (__mmask8) - 1))
574
+
575
+ #define _mm_mask_cmp_pbh_mask(__U, __A, __B, __P) \
576
+ ((__mmask8)__builtin_ia32_vcmpbf16128_mask((__v8bf)(__m128bh)(__A), \
577
+ (__v8bf)(__m128bh)(__B), \
578
+ (int)(__P), (__mmask8)(__U)))
579
+
580
+ #define _mm256_mask_fpclass_pbh_mask(__U, __A, imm) \
581
+ ((__mmask16)__builtin_ia32_vfpclassbf16256_mask( \
582
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__mmask16)(__U)))
583
+
584
+ #define _mm256_fpclass_pbh_mask(__A, imm) \
585
+ ((__mmask16)__builtin_ia32_vfpclassbf16256_mask( \
586
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__mmask16) - 1))
587
+
588
+ #define _mm_mask_fpclass_pbh_mask(__U, __A, imm) \
589
+ ((__mmask8)__builtin_ia32_vfpclassbf16128_mask((__v8bf)(__m128bh)(__A), \
590
+ (int)(imm), (__mmask8)(__U)))
591
+
592
+ #define _mm_fpclass_pbh_mask(__A, imm) \
593
+ ((__mmask8)__builtin_ia32_vfpclassbf16128_mask((__v8bf)(__m128bh)(__A), \
594
+ (int)(imm), (__mmask8) - 1))
595
+
596
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
597
+ _mm256_scalef_pbh(__m256bh __A, __m256bh __B) {
598
+ return (__m256bh)__builtin_ia32_vscalefbf16256_mask(
599
+ (__v16bf)__A, (__v16bf)__B, (__v16bf)_mm256_undefined_pbh(),
600
+ (__mmask16)-1);
601
+ }
602
+
603
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_scalef_pbh(
604
+ __m256bh __W, __mmask16 __U, __m256bh __A, __m256bh __B) {
605
+ return (__m256bh)__builtin_ia32_vscalefbf16256_mask(
606
+ (__v16bf)__A, (__v16bf)__B, (__v16bf)__W, (__mmask16)__U);
607
+ }
608
+
609
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
610
+ _mm256_maskz_scalef_pbh(__mmask16 __U, __m256bh __A, __m256bh __B) {
611
+ return (__m256bh)__builtin_ia32_vscalefbf16256_mask(
612
+ (__v16bf)__A, (__v16bf)__B, (__v16bf)_mm256_setzero_pbh(),
613
+ (__mmask16)__U);
614
+ }
615
+
616
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_scalef_pbh(__m128bh __A,
617
+ __m128bh __B) {
618
+ return (__m128bh)__builtin_ia32_vscalefbf16128_mask(
619
+ (__v8bf)__A, (__v8bf)__B, (__v8bf)_mm_undefined_pbh(), (__mmask8)-1);
620
+ }
621
+
622
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
623
+ _mm_mask_scalef_pbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
624
+ return (__m128bh)__builtin_ia32_vscalefbf16128_mask(
625
+ (__v8bf)__A, (__v8bf)__B, (__v8bf)__W, (__mmask8)__U);
626
+ }
627
+
628
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
629
+ _mm_maskz_scalef_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
630
+ return (__m128bh)__builtin_ia32_vscalefbf16128_mask(
631
+ (__v8bf)__A, (__v8bf)__B, (__v8bf)_mm_setzero_pbh(), (__mmask8)__U);
632
+ }
633
+
634
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_rcp_pbh(__m256bh __A) {
635
+ return (__m256bh)__builtin_ia32_vrcpbf16256_mask(
636
+ (__v16bf)__A, (__v16bf)_mm256_undefined_pbh(), (__mmask16)-1);
637
+ }
638
+
639
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
640
+ _mm256_mask_rcp_pbh(__m256bh __W, __mmask16 __U, __m256bh __A) {
641
+ return (__m256bh)__builtin_ia32_vrcpbf16256_mask((__v16bf)__A, (__v16bf)__W,
642
+ (__mmask16)__U);
643
+ }
644
+
645
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
646
+ _mm256_maskz_rcp_pbh(__mmask16 __U, __m256bh __A) {
647
+ return (__m256bh)__builtin_ia32_vrcpbf16256_mask(
648
+ (__v16bf)__A, (__v16bf)_mm256_setzero_pbh(), (__mmask16)__U);
649
+ }
650
+
651
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_rcp_pbh(__m128bh __A) {
652
+ return (__m128bh)__builtin_ia32_vrcpbf16128_mask(
653
+ (__v8bf)__A, (__v8bf)_mm_undefined_pbh(), (__mmask8)-1);
654
+ }
655
+
656
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
657
+ _mm_mask_rcp_pbh(__m128bh __W, __mmask8 __U, __m128bh __A) {
658
+ return (__m128bh)__builtin_ia32_vrcpbf16128_mask((__v8bf)__A, (__v8bf)__W,
659
+ (__mmask8)__U);
660
+ }
661
+
662
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
663
+ _mm_maskz_rcp_pbh(__mmask8 __U, __m128bh __A) {
664
+ return (__m128bh)__builtin_ia32_vrcpbf16128_mask(
665
+ (__v8bf)__A, (__v8bf)_mm_setzero_pbh(), (__mmask8)__U);
666
+ }
667
+
668
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
669
+ _mm256_getexp_pbh(__m256bh __A) {
670
+ return (__m256bh)__builtin_ia32_vgetexpbf16256_mask(
671
+ (__v16bf)__A, (__v16bf)_mm256_undefined_pbh(), (__mmask16)-1);
672
+ }
673
+
674
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
675
+ _mm256_mask_getexp_pbh(__m256bh __W, __mmask16 __U, __m256bh __A) {
676
+ return (__m256bh)__builtin_ia32_vgetexpbf16256_mask(
677
+ (__v16bf)__A, (__v16bf)__W, (__mmask16)__U);
678
+ }
679
+
680
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
681
+ _mm256_maskz_getexp_pbh(__mmask16 __U, __m256bh __A) {
682
+ return (__m256bh)__builtin_ia32_vgetexpbf16256_mask(
683
+ (__v16bf)__A, (__v16bf)_mm256_setzero_pbh(), (__mmask16)__U);
684
+ }
685
+
686
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_getexp_pbh(__m128bh __A) {
687
+ return (__m128bh)__builtin_ia32_vgetexpbf16128_mask(
688
+ (__v8bf)__A, (__v8bf)_mm_undefined_pbh(), (__mmask8)-1);
689
+ }
690
+
691
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
692
+ _mm_mask_getexp_pbh(__m128bh __W, __mmask8 __U, __m128bh __A) {
693
+ return (__m128bh)__builtin_ia32_vgetexpbf16128_mask((__v8bf)__A, (__v8bf)__W,
694
+ (__mmask8)__U);
695
+ }
696
+
697
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
698
+ _mm_maskz_getexp_pbh(__mmask8 __U, __m128bh __A) {
699
+ return (__m128bh)__builtin_ia32_vgetexpbf16128_mask(
700
+ (__v8bf)__A, (__v8bf)_mm_setzero_pbh(), (__mmask8)__U);
701
+ }
702
+
703
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
704
+ _mm256_rsqrt_pbh(__m256bh __A) {
705
+ return (__m256bh)__builtin_ia32_vrsqrtbf16256_mask(
706
+ (__v16bf)__A, (__v16bf)_mm256_undefined_pbh(), (__mmask16)-1);
707
+ }
708
+
709
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
710
+ _mm256_mask_rsqrt_pbh(__m256bh __W, __mmask16 __U, __m256bh __A) {
711
+ return (__m256bh)__builtin_ia32_vrsqrtbf16256_mask((__v16bf)__A, (__v16bf)__W,
712
+ (__mmask16)__U);
713
+ }
714
+
715
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
716
+ _mm256_maskz_rsqrt_pbh(__mmask16 __U, __m256bh __A) {
717
+ return (__m256bh)__builtin_ia32_vrsqrtbf16256_mask(
718
+ (__v16bf)__A, (__v16bf)_mm256_setzero_pbh(), (__mmask16)__U);
719
+ }
720
+
721
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_rsqrt_pbh(__m128bh __A) {
722
+ return (__m128bh)__builtin_ia32_vrsqrtbf16128_mask(
723
+ (__v8bf)__A, (__v8bf)_mm_undefined_pbh(), (__mmask8)-1);
724
+ }
725
+
726
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
727
+ _mm_mask_rsqrt_pbh(__m128bh __W, __mmask8 __U, __m128bh __A) {
728
+ return (__m128bh)__builtin_ia32_vrsqrtbf16128_mask((__v8bf)__A, (__v8bf)__W,
729
+ (__mmask8)__U);
730
+ }
731
+
732
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
733
+ _mm_maskz_rsqrt_pbh(__mmask8 __U, __m128bh __A) {
734
+ return (__m128bh)__builtin_ia32_vrsqrtbf16128_mask(
735
+ (__v8bf)__A, (__v8bf)_mm_setzero_pbh(), (__mmask8)__U);
736
+ }
737
+
738
+ #define _mm256_reduce_pbh(__A, imm) \
739
+ ((__m256bh)__builtin_ia32_vreducebf16256_mask( \
740
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)_mm256_undefined_pbh(), \
741
+ (__mmask16) - 1))
742
+
743
+ #define _mm256_mask_reduce_pbh(__W, __U, __A, imm) \
744
+ ((__m256bh)__builtin_ia32_vreducebf16256_mask( \
745
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)(__m256bh)(__W), \
746
+ (__mmask16)(__U)))
747
+
748
+ #define _mm256_maskz_reduce_pbh(__U, __A, imm) \
749
+ ((__m256bh)__builtin_ia32_vreducebf16256_mask( \
750
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)_mm256_setzero_pbh(), \
751
+ (__mmask16)(__U)))
752
+
753
+ #define _mm_reduce_pbh(__A, imm) \
754
+ ((__m128bh)__builtin_ia32_vreducebf16128_mask( \
755
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)_mm_undefined_pbh(), \
756
+ (__mmask8) - 1))
757
+
758
+ #define _mm_mask_reduce_pbh(__W, __U, __A, imm) \
759
+ ((__m128bh)__builtin_ia32_vreducebf16128_mask( \
760
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)(__m128bh)(__W), \
761
+ (__mmask8)(__U)))
762
+
763
+ #define _mm_maskz_reduce_pbh(__U, __A, imm) \
764
+ ((__m128bh)__builtin_ia32_vreducebf16128_mask( \
765
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)_mm_setzero_pbh(), \
766
+ (__mmask8)(__U)))
767
+
768
+ #define _mm256_roundscale_pbh(__A, imm) \
769
+ ((__m256bh)__builtin_ia32_vrndscalebf16_256_mask( \
770
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)_mm256_setzero_pbh(), \
771
+ (__mmask16) - 1))
772
+
773
+ #define _mm256_mask_roundscale_pbh(__W, __U, __A, imm) \
774
+ ((__m256bh)__builtin_ia32_vrndscalebf16_256_mask( \
775
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)(__m256bh)(__W), \
776
+ (__mmask16)(__U)))
777
+
778
+ #define _mm256_maskz_roundscale_pbh(__U, __A, imm) \
779
+ ((__m256bh)__builtin_ia32_vrndscalebf16_256_mask( \
780
+ (__v16bf)(__m256bh)(__A), (int)(imm), (__v16bf)_mm256_setzero_pbh(), \
781
+ (__mmask16)(__U)))
782
+
783
+ #define _mm_roundscale_pbh(__A, imm) \
784
+ ((__m128bh)__builtin_ia32_vrndscalebf16_128_mask( \
785
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)_mm_setzero_pbh(), \
786
+ (__mmask8) - 1))
787
+
788
+ #define _mm_mask_roundscale_pbh(__W, __U, __A, imm) \
789
+ ((__m128bh)__builtin_ia32_vrndscalebf16_128_mask( \
790
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)(__m128bh)(__W), \
791
+ (__mmask8)(__U)))
792
+
793
+ #define _mm_maskz_roundscale_pbh(__U, __A, imm) \
794
+ ((__m128bh)__builtin_ia32_vrndscalebf16_128_mask( \
795
+ (__v8bf)(__m128bh)(__A), (int)(imm), (__v8bf)_mm_setzero_pbh(), \
796
+ (__mmask8)(__U)))
797
+
798
+ #define _mm256_getmant_pbh(__A, __B, __C) \
799
+ ((__m256bh)__builtin_ia32_vgetmantbf16256_mask( \
800
+ (__v16bf)(__m256bh)(__A), (int)(((__C) << 2) | (__B)), \
801
+ (__v16bf)_mm256_undefined_pbh(), (__mmask16) - 1))
802
+
803
+ #define _mm256_mask_getmant_pbh(__W, __U, __A, __B, __C) \
804
+ ((__m256bh)__builtin_ia32_vgetmantbf16256_mask( \
805
+ (__v16bf)(__m256bh)(__A), (int)(((__C) << 2) | (__B)), \
806
+ (__v16bf)(__m256bh)(__W), (__mmask16)(__U)))
807
+
808
+ #define _mm256_maskz_getmant_pbh(__U, __A, __B, __C) \
809
+ ((__m256bh)__builtin_ia32_vgetmantbf16256_mask( \
810
+ (__v16bf)(__m256bh)(__A), (int)(((__C) << 2) | (__B)), \
811
+ (__v16bf)_mm256_setzero_pbh(), (__mmask16)(__U)))
812
+
813
+ #define _mm_getmant_pbh(__A, __B, __C) \
814
+ ((__m128bh)__builtin_ia32_vgetmantbf16128_mask( \
815
+ (__v8bf)(__m128bh)(__A), (int)(((__C) << 2) | (__B)), \
816
+ (__v8bf)_mm_undefined_pbh(), (__mmask8) - 1))
817
+
818
+ #define _mm_mask_getmant_pbh(__W, __U, __A, __B, __C) \
819
+ ((__m128bh)__builtin_ia32_vgetmantbf16128_mask( \
820
+ (__v8bf)(__m128bh)(__A), (int)(((__C) << 2) | (__B)), \
821
+ (__v8bf)(__m128bh)(__W), (__mmask8)(__U)))
822
+
823
+ #define _mm_maskz_getmant_pbh(__U, __A, __B, __C) \
824
+ ((__m128bh)__builtin_ia32_vgetmantbf16128_mask( \
825
+ (__v8bf)(__m128bh)(__A), (int)(((__C) << 2) | (__B)), \
826
+ (__v8bf)_mm_setzero_pbh(), (__mmask8)(__U)))
827
+
828
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_sqrt_pbh(__m256bh __A) {
829
+ return __builtin_elementwise_sqrt(__A);
830
+ }
831
+
832
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
833
+ _mm256_mask_sqrt_pbh(__m256bh __W, __mmask16 __U, __m256bh __A) {
834
+ return (__m256bh)__builtin_ia32_selectpbf_256(
835
+ (__mmask16)__U, (__v16bf)_mm256_sqrt_pbh(__A), (__v16bf)__W);
836
+ }
837
+
838
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
839
+ _mm256_maskz_sqrt_pbh(__mmask16 __U, __m256bh __A) {
840
+ return (__m256bh)__builtin_ia32_selectpbf_256((__mmask16)__U,
841
+ (__v16bf)_mm256_sqrt_pbh(__A),
842
+ (__v16bf)_mm256_setzero_pbh());
843
+ }
844
+
845
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_sqrt_pbh(__m128bh __A) {
846
+ return __builtin_elementwise_sqrt(__A);
847
+ }
848
+
849
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
850
+ _mm_mask_sqrt_pbh(__m128bh __W, __mmask8 __U, __m128bh __A) {
851
+ return (__m128bh)__builtin_ia32_selectpbf_128(
852
+ (__mmask8)__U, (__v8bf)_mm_sqrt_pbh(__A), (__v8bf)__W);
853
+ }
854
+
855
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
856
+ _mm_maskz_sqrt_pbh(__mmask8 __U, __m128bh __A) {
857
+ return (__m128bh)__builtin_ia32_selectpbf_128(
858
+ (__mmask8)__U, (__v8bf)_mm_sqrt_pbh(__A), (__v8bf)_mm_setzero_pbh());
859
+ }
860
+
861
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
862
+ _mm256_fmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
863
+ return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, (__v16bf)__B,
864
+ (__v16bf)__C);
865
+ }
866
+
867
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
868
+ _mm256_mask_fmadd_pbh(__m256bh __A, __mmask16 __U, __m256bh __B, __m256bh __C) {
869
+ return (__m256bh)__builtin_ia32_selectpbf_256(
870
+ (__mmask16)__U,
871
+ _mm256_fmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C), (__v16bf)__A);
872
+ }
873
+
874
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask3_fmadd_pbh(
875
+ __m256bh __A, __m256bh __B, __m256bh __C, __mmask16 __U) {
876
+ return (__m256bh)__builtin_ia32_selectpbf_256(
877
+ (__mmask16)__U,
878
+ _mm256_fmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C), (__v16bf)__C);
879
+ }
880
+
881
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmadd_pbh(
882
+ __mmask16 __U, __m256bh __A, __m256bh __B, __m256bh __C) {
883
+ return (__m256bh)__builtin_ia32_selectpbf_256(
884
+ (__mmask16)__U,
885
+ _mm256_fmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
886
+ (__v16bf)_mm256_setzero_pbh());
887
+ }
888
+
889
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
890
+ _mm256_fmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
891
+ return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, (__v16bf)__B,
892
+ -(__v16bf)__C);
893
+ }
894
+
895
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
896
+ _mm256_mask_fmsub_pbh(__m256bh __A, __mmask16 __U, __m256bh __B, __m256bh __C) {
897
+ return (__m256bh)__builtin_ia32_selectpbf_256(
898
+ (__mmask16)__U,
899
+ _mm256_fmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C), (__v16bf)__A);
900
+ }
901
+
902
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask3_fmsub_pbh(
903
+ __m256bh __A, __m256bh __B, __m256bh __C, __mmask16 __U) {
904
+ return (__m256bh)__builtin_ia32_selectpbf_256(
905
+ (__mmask16)__U,
906
+ _mm256_fmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C), (__v16bf)__C);
907
+ }
908
+
909
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmsub_pbh(
910
+ __mmask16 __U, __m256bh __A, __m256bh __B, __m256bh __C) {
911
+ return (__m256bh)__builtin_ia32_selectpbf_256(
912
+ (__mmask16)__U,
913
+ _mm256_fmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
914
+ (__v16bf)_mm256_setzero_pbh());
915
+ }
916
+
917
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
918
+ _mm256_fnmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
919
+ return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, -(__v16bf)__B,
920
+ (__v16bf)__C);
921
+ }
922
+
923
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmadd_pbh(
924
+ __m256bh __A, __mmask16 __U, __m256bh __B, __m256bh __C) {
925
+ return (__m256bh)__builtin_ia32_selectpbf_256(
926
+ (__mmask16)__U,
927
+ _mm256_fnmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
928
+ (__v16bf)__A);
929
+ }
930
+
931
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask3_fnmadd_pbh(
932
+ __m256bh __A, __m256bh __B, __m256bh __C, __mmask16 __U) {
933
+ return (__m256bh)__builtin_ia32_selectpbf_256(
934
+ (__mmask16)__U,
935
+ _mm256_fnmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
936
+ (__v16bf)__C);
937
+ }
938
+
939
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmadd_pbh(
940
+ __mmask16 __U, __m256bh __A, __m256bh __B, __m256bh __C) {
941
+ return (__m256bh)__builtin_ia32_selectpbf_256(
942
+ (__mmask16)__U,
943
+ _mm256_fnmadd_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
944
+ (__v16bf)_mm256_setzero_pbh());
945
+ }
946
+
947
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256
948
+ _mm256_fnmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
949
+ return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, -(__v16bf)__B,
950
+ -(__v16bf)__C);
951
+ }
952
+
953
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmsub_pbh(
954
+ __m256bh __A, __mmask16 __U, __m256bh __B, __m256bh __C) {
955
+ return (__m256bh)__builtin_ia32_selectpbf_256(
956
+ (__mmask16)__U,
957
+ _mm256_fnmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
958
+ (__v16bf)__A);
959
+ }
960
+
961
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask3_fnmsub_pbh(
962
+ __m256bh __A, __m256bh __B, __m256bh __C, __mmask16 __U) {
963
+ return (__m256bh)__builtin_ia32_selectpbf_256(
964
+ (__mmask16)__U,
965
+ _mm256_fnmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
966
+ (__v16bf)__C);
967
+ }
968
+
969
+ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmsub_pbh(
970
+ __mmask16 __U, __m256bh __A, __m256bh __B, __m256bh __C) {
971
+ return (__m256bh)__builtin_ia32_selectpbf_256(
972
+ (__mmask16)__U,
973
+ _mm256_fnmsub_pbh((__v16bf)__A, (__v16bf)__B, (__v16bf)__C),
974
+ (__v16bf)_mm256_setzero_pbh());
975
+ }
976
+
977
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmadd_pbh(__m128bh __A,
978
+ __m128bh __B,
979
+ __m128bh __C) {
980
+ return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, (__v8bf)__B,
981
+ (__v8bf)__C);
982
+ }
983
+
984
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
985
+ _mm_mask_fmadd_pbh(__m128bh __A, __mmask8 __U, __m128bh __B, __m128bh __C) {
986
+ return (__m128bh)__builtin_ia32_selectpbf_128(
987
+ (__mmask8)__U, _mm_fmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
988
+ (__v8bf)__A);
989
+ }
990
+
991
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
992
+ _mm_mask3_fmadd_pbh(__m128bh __A, __m128bh __B, __m128bh __C, __mmask8 __U) {
993
+ return (__m128bh)__builtin_ia32_selectpbf_128(
994
+ (__mmask8)__U, _mm_fmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
995
+ (__v8bf)__C);
996
+ }
997
+
998
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
999
+ _mm_maskz_fmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
1000
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1001
+ (__mmask8)__U, _mm_fmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1002
+ (__v8bf)_mm_setzero_pbh());
1003
+ }
1004
+
1005
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmsub_pbh(__m128bh __A,
1006
+ __m128bh __B,
1007
+ __m128bh __C) {
1008
+ return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, (__v8bf)__B,
1009
+ -(__v8bf)__C);
1010
+ }
1011
+
1012
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1013
+ _mm_mask_fmsub_pbh(__m128bh __A, __mmask8 __U, __m128bh __B, __m128bh __C) {
1014
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1015
+ (__mmask8)__U, _mm_fmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1016
+ (__v8bf)__A);
1017
+ }
1018
+
1019
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1020
+ _mm_mask3_fmsub_pbh(__m128bh __A, __m128bh __B, __m128bh __C, __mmask8 __U) {
1021
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1022
+ (__mmask8)__U, _mm_fmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1023
+ (__v8bf)__C);
1024
+ }
1025
+
1026
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1027
+ _mm_maskz_fmsub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
1028
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1029
+ (__mmask8)__U, _mm_fmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1030
+ (__v8bf)_mm_setzero_pbh());
1031
+ }
1032
+
1033
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmadd_pbh(__m128bh __A,
1034
+ __m128bh __B,
1035
+ __m128bh __C) {
1036
+ return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, -(__v8bf)__B,
1037
+ (__v8bf)__C);
1038
+ }
1039
+
1040
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1041
+ _mm_mask_fnmadd_pbh(__m128bh __A, __mmask8 __U, __m128bh __B, __m128bh __C) {
1042
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1043
+ (__mmask8)__U, _mm_fnmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1044
+ (__v8bf)__A);
1045
+ }
1046
+
1047
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1048
+ _mm_mask3_fnmadd_pbh(__m128bh __A, __m128bh __B, __m128bh __C, __mmask8 __U) {
1049
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1050
+ (__mmask8)__U, _mm_fnmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1051
+ (__v8bf)__C);
1052
+ }
1053
+
1054
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1055
+ _mm_maskz_fnmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
1056
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1057
+ (__mmask8)__U, _mm_fnmadd_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1058
+ (__v8bf)_mm_setzero_pbh());
1059
+ }
1060
+
1061
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmsub_pbh(__m128bh __A,
1062
+ __m128bh __B,
1063
+ __m128bh __C) {
1064
+ return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, -(__v8bf)__B,
1065
+ -(__v8bf)__C);
1066
+ }
1067
+
1068
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1069
+ _mm_mask_fnmsub_pbh(__m128bh __A, __mmask8 __U, __m128bh __B, __m128bh __C) {
1070
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1071
+ (__mmask8)__U, _mm_fnmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1072
+ (__v8bf)__A);
1073
+ }
1074
+
1075
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1076
+ _mm_mask3_fnmsub_pbh(__m128bh __A, __m128bh __B, __m128bh __C, __mmask8 __U) {
1077
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1078
+ (__mmask8)__U, _mm_fnmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1079
+ (__v8bf)__C);
1080
+ }
1081
+
1082
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
1083
+ _mm_maskz_fnmsub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
1084
+ return (__m128bh)__builtin_ia32_selectpbf_128(
1085
+ (__mmask8)__U, _mm_fnmsub_pbh((__v8bf)__A, (__v8bf)__B, (__v8bf)__C),
1086
+ (__v8bf)_mm_setzero_pbh());
1087
+ }
1088
+
1089
+ #undef __DEFAULT_FN_ATTRS128
1090
+ #undef __DEFAULT_FN_ATTRS256
1091
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
1092
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
1093
+ #endif
1094
+ #endif