@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,138 @@
1
+ /*===------------- avx512ifmavlintrin.h - IFMA intrinsics ------------------===
2
+ *
3
+ *
4
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
+ * See https://llvm.org/LICENSE.txt for license information.
6
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
+ *
8
+ *===-----------------------------------------------------------------------===
9
+ */
10
+ #ifndef __IMMINTRIN_H
11
+ #error \
12
+ "Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
13
+ #endif
14
+
15
+ #ifndef __IFMAVLINTRIN_H
16
+ #define __IFMAVLINTRIN_H
17
+
18
+ /* Define the default attributes for the functions in this file. */
19
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
20
+ #define __DEFAULT_FN_ATTRS128 \
21
+ __attribute__((__always_inline__, __nodebug__, \
22
+ __target__("avx512ifma,avx512vl"), \
23
+ __min_vector_width__(128))) constexpr
24
+ #define __DEFAULT_FN_ATTRS256 \
25
+ __attribute__((__always_inline__, __nodebug__, \
26
+ __target__("avx512ifma,avx512vl"), \
27
+ __min_vector_width__(256))) constexpr
28
+ #else
29
+ #define __DEFAULT_FN_ATTRS128 \
30
+ __attribute__((__always_inline__, __nodebug__, \
31
+ __target__("avx512ifma,avx512vl"), \
32
+ __min_vector_width__(128)))
33
+ #define __DEFAULT_FN_ATTRS256 \
34
+ __attribute__((__always_inline__, __nodebug__, \
35
+ __target__("avx512ifma,avx512vl"), \
36
+ __min_vector_width__(256)))
37
+ #endif
38
+
39
+ #if !(defined(__AVXIFMA__) || defined(__AVX512IFMA__))
40
+ #define _mm_madd52hi_epu64(X, Y, Z) \
41
+ ((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
42
+ (__v2di)(Z)))
43
+
44
+ #define _mm256_madd52hi_epu64(X, Y, Z) \
45
+ ((__m256i)__builtin_ia32_vpmadd52huq256((__v4di)(X), (__v4di)(Y), \
46
+ (__v4di)(Z)))
47
+
48
+ #define _mm_madd52lo_epu64(X, Y, Z) \
49
+ ((__m128i)__builtin_ia32_vpmadd52luq128((__v2di)(X), (__v2di)(Y), \
50
+ (__v2di)(Z)))
51
+
52
+ #define _mm256_madd52lo_epu64(X, Y, Z) \
53
+ ((__m256i)__builtin_ia32_vpmadd52luq256((__v4di)(X), (__v4di)(Y), \
54
+ (__v4di)(Z)))
55
+ #endif
56
+
57
+ #if defined(__AVX512IFMA__)
58
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
59
+ _mm_madd52hi_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
60
+ return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di)__X, (__v2di)__Y,
61
+ (__v2di)__Z);
62
+ }
63
+
64
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
65
+ _mm256_madd52hi_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
66
+ return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
67
+ (__v4di)__Z);
68
+ }
69
+
70
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
71
+ _mm_madd52lo_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
72
+ return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
73
+ (__v2di)__Z);
74
+ }
75
+
76
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
77
+ _mm256_madd52lo_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
78
+ return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
79
+ (__v4di)__Z);
80
+ }
81
+ #endif
82
+
83
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
84
+ _mm_mask_madd52hi_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
85
+ return (__m128i)__builtin_ia32_selectq_128(
86
+ __M, (__v2di)__builtin_ia32_vpmadd52huq128(__W, __X, __Y), (__v2di)__W);
87
+ }
88
+
89
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
90
+ _mm_maskz_madd52hi_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
91
+ return (__m128i)__builtin_ia32_selectq_128(
92
+ __M, (__v2di)__builtin_ia32_vpmadd52huq128(__X, __Y, __Z),
93
+ (__v2di)_mm_setzero_si128());
94
+ }
95
+
96
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52hi_epu64(
97
+ __m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
98
+ return (__m256i)__builtin_ia32_selectq_256(
99
+ __M, (__v4di)__builtin_ia32_vpmadd52huq256(__W, __X, __Y), (__v4di)__W);
100
+ }
101
+
102
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52hi_epu64(
103
+ __mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
104
+ return (__m256i)__builtin_ia32_selectq_256(
105
+ __M, (__v4di)__builtin_ia32_vpmadd52huq256(__X, __Y, __Z),
106
+ (__v4di)_mm256_setzero_si256());
107
+ }
108
+
109
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
110
+ _mm_mask_madd52lo_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
111
+ return (__m128i)__builtin_ia32_selectq_128(
112
+ __M, (__v2di)__builtin_ia32_vpmadd52luq128(__W, __X, __Y), (__v2di)__W);
113
+ }
114
+
115
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
116
+ _mm_maskz_madd52lo_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
117
+ return (__m128i)__builtin_ia32_selectq_128(
118
+ __M, (__v2di)__builtin_ia32_vpmadd52luq128(__X, __Y, __Z),
119
+ (__v2di)_mm_setzero_si128());
120
+ }
121
+
122
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52lo_epu64(
123
+ __m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
124
+ return (__m256i)__builtin_ia32_selectq_256(
125
+ __M, (__v4di)__builtin_ia32_vpmadd52luq256(__W, __X, __Y), (__v4di)__W);
126
+ }
127
+
128
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52lo_epu64(
129
+ __mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
130
+ return (__m256i)__builtin_ia32_selectq_256(
131
+ __M, (__v4di)__builtin_ia32_vpmadd52luq256(__X, __Y, __Z),
132
+ (__v4di)_mm256_setzero_si256());
133
+ }
134
+
135
+ #undef __DEFAULT_FN_ATTRS128
136
+ #undef __DEFAULT_FN_ATTRS256
137
+
138
+ #endif
@@ -15,36 +15,39 @@
15
15
  #define __AVX512VBMI2INTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi2,evex512"), __min_vector_width__(512)))
19
-
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi2"), \
20
+ __min_vector_width__(512)))
21
+
22
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
23
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
24
+ #else
25
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
26
+ #endif
20
27
 
21
- static __inline__ __m512i __DEFAULT_FN_ATTRS
22
- _mm512_mask_compress_epi16(__m512i __S, __mmask32 __U, __m512i __D)
23
- {
28
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
29
+ _mm512_mask_compress_epi16(__m512i __S, __mmask32 __U, __m512i __D) {
24
30
  return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi) __D,
25
31
  (__v32hi) __S,
26
32
  __U);
27
33
  }
28
34
 
29
- static __inline__ __m512i __DEFAULT_FN_ATTRS
30
- _mm512_maskz_compress_epi16(__mmask32 __U, __m512i __D)
31
- {
35
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
36
+ _mm512_maskz_compress_epi16(__mmask32 __U, __m512i __D) {
32
37
  return (__m512i) __builtin_ia32_compresshi512_mask ((__v32hi) __D,
33
38
  (__v32hi) _mm512_setzero_si512(),
34
39
  __U);
35
40
  }
36
41
 
37
- static __inline__ __m512i __DEFAULT_FN_ATTRS
38
- _mm512_mask_compress_epi8(__m512i __S, __mmask64 __U, __m512i __D)
39
- {
42
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
43
+ _mm512_mask_compress_epi8(__m512i __S, __mmask64 __U, __m512i __D) {
40
44
  return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi) __D,
41
45
  (__v64qi) __S,
42
46
  __U);
43
47
  }
44
48
 
45
- static __inline__ __m512i __DEFAULT_FN_ATTRS
46
- _mm512_maskz_compress_epi8(__mmask64 __U, __m512i __D)
47
- {
49
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
50
+ _mm512_maskz_compress_epi8(__mmask64 __U, __m512i __D) {
48
51
  return (__m512i) __builtin_ia32_compressqi512_mask ((__v64qi) __D,
49
52
  (__v64qi) _mm512_setzero_si512(),
50
53
  __U);
@@ -64,7 +67,7 @@ _mm512_mask_compressstoreu_epi8(void *__P, __mmask64 __U, __m512i __D)
64
67
  __U);
65
68
  }
66
69
 
67
- static __inline__ __m512i __DEFAULT_FN_ATTRS
70
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
68
71
  _mm512_mask_expand_epi16(__m512i __S, __mmask32 __U, __m512i __D)
69
72
  {
70
73
  return (__m512i) __builtin_ia32_expandhi512_mask ((__v32hi) __D,
@@ -72,7 +75,7 @@ _mm512_mask_expand_epi16(__m512i __S, __mmask32 __U, __m512i __D)
72
75
  __U);
73
76
  }
74
77
 
75
- static __inline__ __m512i __DEFAULT_FN_ATTRS
78
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
76
79
  _mm512_maskz_expand_epi16(__mmask32 __U, __m512i __D)
77
80
  {
78
81
  return (__m512i) __builtin_ia32_expandhi512_mask ((__v32hi) __D,
@@ -80,7 +83,7 @@ _mm512_maskz_expand_epi16(__mmask32 __U, __m512i __D)
80
83
  __U);
81
84
  }
82
85
 
83
- static __inline__ __m512i __DEFAULT_FN_ATTRS
86
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
84
87
  _mm512_mask_expand_epi8(__m512i __S, __mmask64 __U, __m512i __D)
85
88
  {
86
89
  return (__m512i) __builtin_ia32_expandqi512_mask ((__v64qi) __D,
@@ -88,7 +91,7 @@ _mm512_mask_expand_epi8(__m512i __S, __mmask64 __U, __m512i __D)
88
91
  __U);
89
92
  }
90
93
 
91
- static __inline__ __m512i __DEFAULT_FN_ATTRS
94
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
92
95
  _mm512_maskz_expand_epi8(__mmask64 __U, __m512i __D)
93
96
  {
94
97
  return (__m512i) __builtin_ia32_expandqi512_mask ((__v64qi) __D,
@@ -212,14 +215,14 @@ _mm512_maskz_expandloadu_epi8(__mmask64 __U, void const *__P)
212
215
  (__v32hi)_mm512_shrdi_epi16((A), (B), (I)), \
213
216
  (__v32hi)_mm512_setzero_si512()))
214
217
 
215
- static __inline__ __m512i __DEFAULT_FN_ATTRS
218
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
216
219
  _mm512_shldv_epi64(__m512i __A, __m512i __B, __m512i __C)
217
220
  {
218
- return (__m512i)__builtin_ia32_vpshldvq512((__v8di)__A, (__v8di)__B,
219
- (__v8di)__C);
221
+ return (__m512i)__builtin_elementwise_fshl((__v8du)__A, (__v8du)__B,
222
+ (__v8du)__C);
220
223
  }
221
224
 
222
- static __inline__ __m512i __DEFAULT_FN_ATTRS
225
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
223
226
  _mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
224
227
  {
225
228
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -227,7 +230,7 @@ _mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
227
230
  (__v8di)__A);
228
231
  }
229
232
 
230
- static __inline__ __m512i __DEFAULT_FN_ATTRS
233
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
231
234
  _mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
232
235
  {
233
236
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -235,14 +238,14 @@ _mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
235
238
  (__v8di)_mm512_setzero_si512());
236
239
  }
237
240
 
238
- static __inline__ __m512i __DEFAULT_FN_ATTRS
241
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
239
242
  _mm512_shldv_epi32(__m512i __A, __m512i __B, __m512i __C)
240
243
  {
241
- return (__m512i)__builtin_ia32_vpshldvd512((__v16si)__A, (__v16si)__B,
242
- (__v16si)__C);
244
+ return (__m512i)__builtin_elementwise_fshl((__v16su)__A, (__v16su)__B,
245
+ (__v16su)__C);
243
246
  }
244
247
 
245
- static __inline__ __m512i __DEFAULT_FN_ATTRS
248
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
246
249
  _mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
247
250
  {
248
251
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -250,7 +253,7 @@ _mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
250
253
  (__v16si)__A);
251
254
  }
252
255
 
253
- static __inline__ __m512i __DEFAULT_FN_ATTRS
256
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
254
257
  _mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
255
258
  {
256
259
  return (__m512i)__builtin_ia32_selectd_512(__U,
@@ -258,14 +261,14 @@ _mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
258
261
  (__v16si)_mm512_setzero_si512());
259
262
  }
260
263
 
261
- static __inline__ __m512i __DEFAULT_FN_ATTRS
264
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
262
265
  _mm512_shldv_epi16(__m512i __A, __m512i __B, __m512i __C)
263
266
  {
264
- return (__m512i)__builtin_ia32_vpshldvw512((__v32hi)__A, (__v32hi)__B,
265
- (__v32hi)__C);
267
+ return (__m512i)__builtin_elementwise_fshl((__v32hu)__A, (__v32hu)__B,
268
+ (__v32hu)__C);
266
269
  }
267
270
 
268
- static __inline__ __m512i __DEFAULT_FN_ATTRS
271
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
269
272
  _mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
270
273
  {
271
274
  return (__m512i)__builtin_ia32_selectw_512(__U,
@@ -273,7 +276,7 @@ _mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
273
276
  (__v32hi)__A);
274
277
  }
275
278
 
276
- static __inline__ __m512i __DEFAULT_FN_ATTRS
279
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
277
280
  _mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
278
281
  {
279
282
  return (__m512i)__builtin_ia32_selectw_512(__U,
@@ -281,14 +284,15 @@ _mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
281
284
  (__v32hi)_mm512_setzero_si512());
282
285
  }
283
286
 
284
- static __inline__ __m512i __DEFAULT_FN_ATTRS
287
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
285
288
  _mm512_shrdv_epi64(__m512i __A, __m512i __B, __m512i __C)
286
289
  {
287
- return (__m512i)__builtin_ia32_vpshrdvq512((__v8di)__A, (__v8di)__B,
288
- (__v8di)__C);
290
+ // Ops __A and __B are swapped.
291
+ return (__m512i)__builtin_elementwise_fshr((__v8du)__B, (__v8du)__A,
292
+ (__v8du)__C);
289
293
  }
290
294
 
291
- static __inline__ __m512i __DEFAULT_FN_ATTRS
295
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
292
296
  _mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
293
297
  {
294
298
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -296,7 +300,7 @@ _mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
296
300
  (__v8di)__A);
297
301
  }
298
302
 
299
- static __inline__ __m512i __DEFAULT_FN_ATTRS
303
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
300
304
  _mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
301
305
  {
302
306
  return (__m512i)__builtin_ia32_selectq_512(__U,
@@ -304,14 +308,15 @@ _mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
304
308
  (__v8di)_mm512_setzero_si512());
305
309
  }
306
310
 
307
- static __inline__ __m512i __DEFAULT_FN_ATTRS
311
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
308
312
  _mm512_shrdv_epi32(__m512i __A, __m512i __B, __m512i __C)
309
313
  {
310
- return (__m512i)__builtin_ia32_vpshrdvd512((__v16si)__A, (__v16si)__B,
311
- (__v16si)__C);
314
+ // Ops __A and __B are swapped.
315
+ return (__m512i)__builtin_elementwise_fshr((__v16su)__B, (__v16su)__A,
316
+ (__v16su)__C);
312
317
  }
313
318
 
314
- static __inline__ __m512i __DEFAULT_FN_ATTRS
319
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
315
320
  _mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
316
321
  {
317
322
  return (__m512i) __builtin_ia32_selectd_512(__U,
@@ -319,7 +324,7 @@ _mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
319
324
  (__v16si)__A);
320
325
  }
321
326
 
322
- static __inline__ __m512i __DEFAULT_FN_ATTRS
327
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
323
328
  _mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
324
329
  {
325
330
  return (__m512i) __builtin_ia32_selectd_512(__U,
@@ -327,14 +332,15 @@ _mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
327
332
  (__v16si)_mm512_setzero_si512());
328
333
  }
329
334
 
330
- static __inline__ __m512i __DEFAULT_FN_ATTRS
335
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
331
336
  _mm512_shrdv_epi16(__m512i __A, __m512i __B, __m512i __C)
332
337
  {
333
- return (__m512i)__builtin_ia32_vpshrdvw512((__v32hi)__A, (__v32hi)__B,
334
- (__v32hi)__C);
338
+ // Ops __A and __B are swapped.
339
+ return (__m512i)__builtin_elementwise_fshr((__v32hu)__B, (__v32hu)__A,
340
+ (__v32hu)__C);
335
341
  }
336
342
 
337
- static __inline__ __m512i __DEFAULT_FN_ATTRS
343
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
338
344
  _mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
339
345
  {
340
346
  return (__m512i)__builtin_ia32_selectw_512(__U,
@@ -342,7 +348,7 @@ _mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
342
348
  (__v32hi)__A);
343
349
  }
344
350
 
345
- static __inline__ __m512i __DEFAULT_FN_ATTRS
351
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
346
352
  _mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
347
353
  {
348
354
  return (__m512i)__builtin_ia32_selectw_512(__U,
@@ -352,6 +358,7 @@ _mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
352
358
 
353
359
 
354
360
  #undef __DEFAULT_FN_ATTRS
361
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
355
362
 
356
363
  #endif
357
364
 
@@ -15,63 +15,57 @@
15
15
  #define __VBMIINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
18
19
  #define __DEFAULT_FN_ATTRS \
19
- __attribute__((__always_inline__, __nodebug__, \
20
- __target__("avx512vbmi,evex512"), __min_vector_width__(512)))
20
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
21
+ __min_vector_width__(512))) constexpr
22
+ #else
23
+ #define __DEFAULT_FN_ATTRS \
24
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
25
+ __min_vector_width__(512)))
26
+ #endif
21
27
 
22
28
  static __inline__ __m512i __DEFAULT_FN_ATTRS
23
- _mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B)
24
- {
29
+ _mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B) {
25
30
  return (__m512i)__builtin_ia32_vpermi2varqi512((__v64qi)__A, (__v64qi)__I,
26
31
  (__v64qi) __B);
27
32
  }
28
33
 
29
- static __inline__ __m512i __DEFAULT_FN_ATTRS
30
- _mm512_mask_permutex2var_epi8(__m512i __A, __mmask64 __U, __m512i __I,
31
- __m512i __B)
32
- {
34
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutex2var_epi8(
35
+ __m512i __A, __mmask64 __U, __m512i __I, __m512i __B) {
33
36
  return (__m512i)__builtin_ia32_selectb_512(__U,
34
37
  (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
35
38
  (__v64qi)__A);
36
39
  }
37
40
 
38
- static __inline__ __m512i __DEFAULT_FN_ATTRS
39
- _mm512_mask2_permutex2var_epi8(__m512i __A, __m512i __I, __mmask64 __U,
40
- __m512i __B)
41
- {
41
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask2_permutex2var_epi8(
42
+ __m512i __A, __m512i __I, __mmask64 __U, __m512i __B) {
42
43
  return (__m512i)__builtin_ia32_selectb_512(__U,
43
44
  (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
44
45
  (__v64qi)__I);
45
46
  }
46
47
 
47
- static __inline__ __m512i __DEFAULT_FN_ATTRS
48
- _mm512_maskz_permutex2var_epi8(__mmask64 __U, __m512i __A, __m512i __I,
49
- __m512i __B)
50
- {
48
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutex2var_epi8(
49
+ __mmask64 __U, __m512i __A, __m512i __I, __m512i __B) {
51
50
  return (__m512i)__builtin_ia32_selectb_512(__U,
52
51
  (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
53
52
  (__v64qi)_mm512_setzero_si512());
54
53
  }
55
54
 
56
55
  static __inline__ __m512i __DEFAULT_FN_ATTRS
57
- _mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
58
- {
56
+ _mm512_permutexvar_epi8(__m512i __A, __m512i __B) {
59
57
  return (__m512i)__builtin_ia32_permvarqi512((__v64qi) __B, (__v64qi) __A);
60
58
  }
61
59
 
62
60
  static __inline__ __m512i __DEFAULT_FN_ATTRS
63
- _mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A,
64
- __m512i __B)
65
- {
61
+ _mm512_maskz_permutexvar_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
66
62
  return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
67
63
  (__v64qi)_mm512_permutexvar_epi8(__A, __B),
68
64
  (__v64qi)_mm512_setzero_si512());
69
65
  }
70
66
 
71
- static __inline__ __m512i __DEFAULT_FN_ATTRS
72
- _mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
73
- __m512i __B)
74
- {
67
+ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi8(
68
+ __m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
75
69
  return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
76
70
  (__v64qi)_mm512_permutexvar_epi8(__A, __B),
77
71
  (__v64qi)__W);
@@ -100,7 +94,5 @@ _mm512_maskz_multishift_epi64_epi8(__mmask64 __M, __m512i __X, __m512i __Y)
100
94
  (__v64qi)_mm512_setzero_si512());
101
95
  }
102
96
 
103
-
104
97
  #undef __DEFAULT_FN_ATTRS
105
-
106
98
  #endif
@@ -15,126 +15,114 @@
15
15
  #define __VBMIVLINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
18
19
  #define __DEFAULT_FN_ATTRS128 \
19
20
  __attribute__((__always_inline__, __nodebug__, \
20
- __target__("avx512vbmi,avx512vl,no-evex512"), \
21
+ __target__("avx512vbmi,avx512vl"), \
22
+ __min_vector_width__(128))) constexpr
23
+ #define __DEFAULT_FN_ATTRS256 \
24
+ __attribute__((__always_inline__, __nodebug__, \
25
+ __target__("avx512vbmi,avx512vl"), \
26
+ __min_vector_width__(256))) constexpr
27
+ #else
28
+ #define __DEFAULT_FN_ATTRS128 \
29
+ __attribute__((__always_inline__, __nodebug__, \
30
+ __target__("avx512vbmi,avx512vl"), \
21
31
  __min_vector_width__(128)))
22
32
  #define __DEFAULT_FN_ATTRS256 \
23
33
  __attribute__((__always_inline__, __nodebug__, \
24
- __target__("avx512vbmi,avx512vl,no-evex512"), \
34
+ __target__("avx512vbmi,avx512vl"), \
25
35
  __min_vector_width__(256)))
36
+ #endif
26
37
 
27
38
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
28
- _mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B)
29
- {
39
+ _mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B) {
30
40
  return (__m128i)__builtin_ia32_vpermi2varqi128((__v16qi)__A,
31
41
  (__v16qi)__I,
32
42
  (__v16qi)__B);
33
43
  }
34
44
 
35
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
36
- _mm_mask_permutex2var_epi8(__m128i __A, __mmask16 __U, __m128i __I,
37
- __m128i __B)
38
- {
45
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutex2var_epi8(
46
+ __m128i __A, __mmask16 __U, __m128i __I, __m128i __B) {
39
47
  return (__m128i)__builtin_ia32_selectb_128(__U,
40
48
  (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
41
49
  (__v16qi)__A);
42
50
  }
43
51
 
44
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
45
- _mm_mask2_permutex2var_epi8(__m128i __A, __m128i __I, __mmask16 __U,
46
- __m128i __B)
47
- {
52
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask2_permutex2var_epi8(
53
+ __m128i __A, __m128i __I, __mmask16 __U, __m128i __B) {
48
54
  return (__m128i)__builtin_ia32_selectb_128(__U,
49
55
  (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
50
56
  (__v16qi)__I);
51
57
  }
52
58
 
53
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
54
- _mm_maskz_permutex2var_epi8(__mmask16 __U, __m128i __A, __m128i __I,
55
- __m128i __B)
56
- {
59
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutex2var_epi8(
60
+ __mmask16 __U, __m128i __A, __m128i __I, __m128i __B) {
57
61
  return (__m128i)__builtin_ia32_selectb_128(__U,
58
62
  (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
59
63
  (__v16qi)_mm_setzero_si128());
60
64
  }
61
65
 
62
66
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
63
- _mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B)
64
- {
67
+ _mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B) {
65
68
  return (__m256i)__builtin_ia32_vpermi2varqi256((__v32qi)__A, (__v32qi)__I,
66
69
  (__v32qi)__B);
67
70
  }
68
71
 
69
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
70
- _mm256_mask_permutex2var_epi8(__m256i __A, __mmask32 __U, __m256i __I,
71
- __m256i __B)
72
- {
72
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutex2var_epi8(
73
+ __m256i __A, __mmask32 __U, __m256i __I, __m256i __B) {
73
74
  return (__m256i)__builtin_ia32_selectb_256(__U,
74
75
  (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
75
76
  (__v32qi)__A);
76
77
  }
77
78
 
78
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
79
- _mm256_mask2_permutex2var_epi8(__m256i __A, __m256i __I, __mmask32 __U,
80
- __m256i __B)
81
- {
79
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask2_permutex2var_epi8(
80
+ __m256i __A, __m256i __I, __mmask32 __U, __m256i __B) {
82
81
  return (__m256i)__builtin_ia32_selectb_256(__U,
83
82
  (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
84
83
  (__v32qi)__I);
85
84
  }
86
85
 
87
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
88
- _mm256_maskz_permutex2var_epi8(__mmask32 __U, __m256i __A, __m256i __I,
89
- __m256i __B)
90
- {
86
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutex2var_epi8(
87
+ __mmask32 __U, __m256i __A, __m256i __I, __m256i __B) {
91
88
  return (__m256i)__builtin_ia32_selectb_256(__U,
92
89
  (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
93
90
  (__v32qi)_mm256_setzero_si256());
94
91
  }
95
92
 
96
93
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
97
- _mm_permutexvar_epi8 (__m128i __A, __m128i __B)
98
- {
94
+ _mm_permutexvar_epi8(__m128i __A, __m128i __B) {
99
95
  return (__m128i)__builtin_ia32_permvarqi128((__v16qi)__B, (__v16qi)__A);
100
96
  }
101
97
 
102
98
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
103
- _mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
104
- {
99
+ _mm_maskz_permutexvar_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
105
100
  return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
106
101
  (__v16qi)_mm_permutexvar_epi8(__A, __B),
107
102
  (__v16qi)_mm_setzero_si128());
108
103
  }
109
104
 
110
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
111
- _mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
112
- __m128i __B)
113
- {
105
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutexvar_epi8(
106
+ __m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
114
107
  return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
115
108
  (__v16qi)_mm_permutexvar_epi8(__A, __B),
116
109
  (__v16qi)__W);
117
110
  }
118
111
 
119
112
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
120
- _mm256_permutexvar_epi8 (__m256i __A, __m256i __B)
121
- {
113
+ _mm256_permutexvar_epi8(__m256i __A, __m256i __B) {
122
114
  return (__m256i)__builtin_ia32_permvarqi256((__v32qi) __B, (__v32qi) __A);
123
115
  }
124
116
 
125
117
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
126
- _mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A,
127
- __m256i __B)
128
- {
118
+ _mm256_maskz_permutexvar_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
129
119
  return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
130
120
  (__v32qi)_mm256_permutexvar_epi8(__A, __B),
131
121
  (__v32qi)_mm256_setzero_si256());
132
122
  }
133
123
 
134
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
135
- _mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
136
- __m256i __B)
137
- {
124
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutexvar_epi8(
125
+ __m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
138
126
  return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
139
127
  (__v32qi)_mm256_permutexvar_epi8(__A, __B),
140
128
  (__v32qi)__W);
@@ -186,8 +174,6 @@ _mm256_maskz_multishift_epi64_epi8(__mmask32 __M, __m256i __X, __m256i __Y)
186
174
  (__v32qi)_mm256_setzero_si256());
187
175
  }
188
176
 
189
-
190
177
  #undef __DEFAULT_FN_ATTRS128
191
178
  #undef __DEFAULT_FN_ATTRS256
192
-
193
179
  #endif