@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
@@ -15,8 +15,20 @@
15
15
  #define __FMAINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(128)))
19
- #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(256)))
18
+ #define __DEFAULT_FN_ATTRS128 \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("fma"), \
20
+ __min_vector_width__(128)))
21
+ #define __DEFAULT_FN_ATTRS256 \
22
+ __attribute__((__always_inline__, __nodebug__, __target__("fma"), \
23
+ __min_vector_width__(256)))
24
+
25
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
26
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
27
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
28
+ #else
29
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
30
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
31
+ #endif
20
32
 
21
33
  /// Computes a multiply-add of 128-bit vectors of [4 x float].
22
34
  /// For each element, computes <c> (__A * __B) + __C </c>.
@@ -32,10 +44,11 @@
32
44
  /// \param __C
33
45
  /// A 128-bit vector of [4 x float] containing the addend.
34
46
  /// \returns A 128-bit vector of [4 x float] containing the result.
35
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
47
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
36
48
  _mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
37
49
  {
38
- return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
50
+ return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
51
+ (__v4sf)__C);
39
52
  }
40
53
 
41
54
  /// Computes a multiply-add of 128-bit vectors of [2 x double].
@@ -52,10 +65,11 @@ _mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
52
65
  /// \param __C
53
66
  /// A 128-bit vector of [2 x double] containing the addend.
54
67
  /// \returns A 128-bit [2 x double] vector containing the result.
55
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
68
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
56
69
  _mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
57
70
  {
58
- return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
71
+ return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
72
+ (__v2df)__C);
59
73
  }
60
74
 
61
75
  /// Computes a scalar multiply-add of the single-precision values in the
@@ -81,10 +95,10 @@ _mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
81
95
  /// 32 bits.
82
96
  /// \returns A 128-bit vector of [4 x float] containing the result in the low
83
97
  /// 32 bits and a copy of \a __A[127:32] in the upper 96 bits.
84
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
85
- _mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
86
- {
87
- return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
98
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
99
+ _mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C) {
100
+ __A[0] = __builtin_elementwise_fma(__A[0], __B[0], __C[0]);
101
+ return __A;
88
102
  }
89
103
 
90
104
  /// Computes a scalar multiply-add of the double-precision values in the
@@ -110,10 +124,10 @@ _mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
110
124
  /// 64 bits.
111
125
  /// \returns A 128-bit vector of [2 x double] containing the result in the low
112
126
  /// 64 bits and a copy of \a __A[127:64] in the upper 64 bits.
113
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
114
- _mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
115
- {
116
- return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, (__v2df)__C);
127
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
128
+ _mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C) {
129
+ __A[0] = __builtin_elementwise_fma(__A[0], __B[0], __C[0]);
130
+ return __A;
117
131
  }
118
132
 
119
133
  /// Computes a multiply-subtract of 128-bit vectors of [4 x float].
@@ -130,10 +144,11 @@ _mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
130
144
  /// \param __C
131
145
  /// A 128-bit vector of [4 x float] containing the subtrahend.
132
146
  /// \returns A 128-bit vector of [4 x float] containing the result.
133
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
147
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
134
148
  _mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
135
149
  {
136
- return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
150
+ return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
151
+ -(__v4sf)__C);
137
152
  }
138
153
 
139
154
  /// Computes a multiply-subtract of 128-bit vectors of [2 x double].
@@ -150,10 +165,11 @@ _mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
150
165
  /// \param __C
151
166
  /// A 128-bit vector of [2 x double] containing the addend.
152
167
  /// \returns A 128-bit vector of [2 x double] containing the result.
153
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
168
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
154
169
  _mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
155
170
  {
156
- return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
171
+ return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
172
+ -(__v2df)__C);
157
173
  }
158
174
 
159
175
  /// Computes a scalar multiply-subtract of the single-precision values in
@@ -179,10 +195,10 @@ _mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
179
195
  /// 32 bits.
180
196
  /// \returns A 128-bit vector of [4 x float] containing the result in the low
181
197
  /// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
182
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
183
- _mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
184
- {
185
- return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
198
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
199
+ _mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C) {
200
+ __A[0] = __builtin_elementwise_fma(__A[0], __B[0], -__C[0]);
201
+ return __A;
186
202
  }
187
203
 
188
204
  /// Computes a scalar multiply-subtract of the double-precision values in
@@ -208,10 +224,10 @@ _mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
208
224
  /// 64 bits.
209
225
  /// \returns A 128-bit vector of [2 x double] containing the result in the low
210
226
  /// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
211
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
212
- _mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
213
- {
214
- return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, -(__v2df)__C);
227
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
228
+ _mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C) {
229
+ __A[0] = __builtin_elementwise_fma(__A[0], __B[0], -__C[0]);
230
+ return __A;
215
231
  }
216
232
 
217
233
  /// Computes a negated multiply-add of 128-bit vectors of [4 x float].
@@ -228,10 +244,11 @@ _mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
228
244
  /// \param __C
229
245
  /// A 128-bit vector of [4 x float] containing the addend.
230
246
  /// \returns A 128-bit [4 x float] vector containing the result.
231
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
247
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
232
248
  _mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
233
249
  {
234
- return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
250
+ return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
251
+ (__v4sf)__C);
235
252
  }
236
253
 
237
254
  /// Computes a negated multiply-add of 128-bit vectors of [2 x double].
@@ -248,10 +265,11 @@ _mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
248
265
  /// \param __C
249
266
  /// A 128-bit vector of [2 x double] containing the addend.
250
267
  /// \returns A 128-bit vector of [2 x double] containing the result.
251
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
268
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
252
269
  _mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
253
270
  {
254
- return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
271
+ return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
272
+ (__v2df)__C);
255
273
  }
256
274
 
257
275
  /// Computes a scalar negated multiply-add of the single-precision values in
@@ -277,10 +295,10 @@ _mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
277
295
  /// 32 bits.
278
296
  /// \returns A 128-bit vector of [4 x float] containing the result in the low
279
297
  /// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
280
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
281
- _mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
282
- {
283
- return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, (__v4sf)__C);
298
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
299
+ _mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C) {
300
+ __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], __C[0]);
301
+ return __A;
284
302
  }
285
303
 
286
304
  /// Computes a scalar negated multiply-add of the double-precision values
@@ -306,10 +324,10 @@ _mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
306
324
  /// 64 bits.
307
325
  /// \returns A 128-bit vector of [2 x double] containing the result in the low
308
326
  /// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
309
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
310
- _mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
311
- {
312
- return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, (__v2df)__C);
327
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
328
+ _mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C) {
329
+ __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], __C[0]);
330
+ return __A;
313
331
  }
314
332
 
315
333
  /// Computes a negated multiply-subtract of 128-bit vectors of [4 x float].
@@ -326,10 +344,11 @@ _mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
326
344
  /// \param __C
327
345
  /// A 128-bit vector of [4 x float] containing the subtrahend.
328
346
  /// \returns A 128-bit vector of [4 x float] containing the result.
329
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
347
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
330
348
  _mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
331
349
  {
332
- return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
350
+ return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
351
+ -(__v4sf)__C);
333
352
  }
334
353
 
335
354
  /// Computes a negated multiply-subtract of 128-bit vectors of [2 x double].
@@ -346,10 +365,11 @@ _mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
346
365
  /// \param __C
347
366
  /// A 128-bit vector of [2 x double] containing the subtrahend.
348
367
  /// \returns A 128-bit vector of [2 x double] containing the result.
349
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
368
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
350
369
  _mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
351
370
  {
352
- return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
371
+ return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
372
+ -(__v2df)__C);
353
373
  }
354
374
 
355
375
  /// Computes a scalar negated multiply-subtract of the single-precision
@@ -375,10 +395,10 @@ _mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
375
395
  /// 32 bits.
376
396
  /// \returns A 128-bit vector of [4 x float] containing the result in the low
377
397
  /// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
378
- static __inline__ __m128 __DEFAULT_FN_ATTRS128
379
- _mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
380
- {
381
- return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, -(__v4sf)__C);
398
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
399
+ _mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C) {
400
+ __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], -__C[0]);
401
+ return __A;
382
402
  }
383
403
 
384
404
  /// Computes a scalar negated multiply-subtract of the double-precision
@@ -404,10 +424,10 @@ _mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
404
424
  /// 64 bits.
405
425
  /// \returns A 128-bit vector of [2 x double] containing the result in the low
406
426
  /// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
407
- static __inline__ __m128d __DEFAULT_FN_ATTRS128
408
- _mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C)
409
- {
410
- return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, -(__v2df)__C);
427
+ static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
428
+ _mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C) {
429
+ __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], -__C[0]);
430
+ return __A;
411
431
  }
412
432
 
413
433
  /// Computes a multiply with alternating add/subtract of 128-bit vectors of
@@ -528,10 +548,11 @@ _mm_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C)
528
548
  /// \param __C
529
549
  /// A 256-bit vector of [8 x float] containing the addend.
530
550
  /// \returns A 256-bit vector of [8 x float] containing the result.
531
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
551
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
532
552
  _mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
533
553
  {
534
- return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
554
+ return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
555
+ (__v8sf)__C);
535
556
  }
536
557
 
537
558
  /// Computes a multiply-add of 256-bit vectors of [4 x double].
@@ -548,10 +569,11 @@ _mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
548
569
  /// \param __C
549
570
  /// A 256-bit vector of [4 x double] containing the addend.
550
571
  /// \returns A 256-bit vector of [4 x double] containing the result.
551
- static __inline__ __m256d __DEFAULT_FN_ATTRS256
572
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
552
573
  _mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
553
574
  {
554
- return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
575
+ return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
576
+ (__v4df)__C);
555
577
  }
556
578
 
557
579
  /// Computes a multiply-subtract of 256-bit vectors of [8 x float].
@@ -568,10 +590,11 @@ _mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
568
590
  /// \param __C
569
591
  /// A 256-bit vector of [8 x float] containing the subtrahend.
570
592
  /// \returns A 256-bit vector of [8 x float] containing the result.
571
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
593
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
572
594
  _mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
573
595
  {
574
- return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
596
+ return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
597
+ -(__v8sf)__C);
575
598
  }
576
599
 
577
600
  /// Computes a multiply-subtract of 256-bit vectors of [4 x double].
@@ -588,10 +611,11 @@ _mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
588
611
  /// \param __C
589
612
  /// A 256-bit vector of [4 x double] containing the subtrahend.
590
613
  /// \returns A 256-bit vector of [4 x double] containing the result.
591
- static __inline__ __m256d __DEFAULT_FN_ATTRS256
614
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
592
615
  _mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
593
616
  {
594
- return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
617
+ return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
618
+ -(__v4df)__C);
595
619
  }
596
620
 
597
621
  /// Computes a negated multiply-add of 256-bit vectors of [8 x float].
@@ -608,10 +632,11 @@ _mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
608
632
  /// \param __C
609
633
  /// A 256-bit vector of [8 x float] containing the addend.
610
634
  /// \returns A 256-bit vector of [8 x float] containing the result.
611
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
635
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
612
636
  _mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
613
637
  {
614
- return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
638
+ return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
639
+ (__v8sf)__C);
615
640
  }
616
641
 
617
642
  /// Computes a negated multiply-add of 256-bit vectors of [4 x double].
@@ -628,10 +653,11 @@ _mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
628
653
  /// \param __C
629
654
  /// A 256-bit vector of [4 x double] containing the addend.
630
655
  /// \returns A 256-bit vector of [4 x double] containing the result.
631
- static __inline__ __m256d __DEFAULT_FN_ATTRS256
656
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
632
657
  _mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
633
658
  {
634
- return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, (__v4df)__C);
659
+ return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
660
+ (__v4df)__C);
635
661
  }
636
662
 
637
663
  /// Computes a negated multiply-subtract of 256-bit vectors of [8 x float].
@@ -648,10 +674,11 @@ _mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
648
674
  /// \param __C
649
675
  /// A 256-bit vector of [8 x float] containing the subtrahend.
650
676
  /// \returns A 256-bit vector of [8 x float] containing the result.
651
- static __inline__ __m256 __DEFAULT_FN_ATTRS256
677
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
652
678
  _mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
653
679
  {
654
- return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
680
+ return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
681
+ -(__v8sf)__C);
655
682
  }
656
683
 
657
684
  /// Computes a negated multiply-subtract of 256-bit vectors of [4 x double].
@@ -668,10 +695,11 @@ _mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
668
695
  /// \param __C
669
696
  /// A 256-bit vector of [4 x double] containing the subtrahend.
670
697
  /// \returns A 256-bit vector of [4 x double] containing the result.
671
- static __inline__ __m256d __DEFAULT_FN_ATTRS256
698
+ static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
672
699
  _mm256_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C)
673
700
  {
674
- return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
701
+ return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
702
+ -(__v4df)__C);
675
703
  }
676
704
 
677
705
  /// Computes a multiply with alternating add/subtract of 256-bit vectors of
@@ -792,5 +820,7 @@ _mm256_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C)
792
820
 
793
821
  #undef __DEFAULT_FN_ATTRS128
794
822
  #undef __DEFAULT_FN_ATTRS256
823
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
824
+ #undef __DEFAULT_FN_ATTRS256_CONSTEXPR
795
825
 
796
826
  #endif /* __FMAINTRIN_H */
@@ -15,37 +15,64 @@
15
15
  #define __GFNIINTRIN_H
16
16
 
17
17
  /* Default attributes for simple form (no masking). */
18
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
18
19
  #define __DEFAULT_FN_ATTRS \
19
- __attribute__((__always_inline__, __nodebug__, \
20
- __target__("gfni,no-evex512"), __min_vector_width__(128)))
20
+ __attribute__((__always_inline__, __nodebug__, __target__("gfni"), \
21
+ __min_vector_width__(128))) constexpr
21
22
 
22
23
  /* Default attributes for YMM unmasked form. */
23
24
  #define __DEFAULT_FN_ATTRS_Y \
25
+ __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), \
26
+ __min_vector_width__(256))) constexpr
27
+
28
+ /* Default attributes for VLX masked forms. */
29
+ #define __DEFAULT_FN_ATTRS_VL128 \
24
30
  __attribute__((__always_inline__, __nodebug__, \
25
- __target__("avx,gfni,no-evex512"), \
26
- __min_vector_width__(256)))
31
+ __target__("avx512bw,avx512vl,gfni"), \
32
+ __min_vector_width__(128))) constexpr
33
+ #define __DEFAULT_FN_ATTRS_VL256 \
34
+ __attribute__((__always_inline__, __nodebug__, \
35
+ __target__("avx512bw,avx512vl,gfni"), \
36
+ __min_vector_width__(256))) constexpr
27
37
 
28
38
  /* Default attributes for ZMM unmasked forms. */
29
39
  #define __DEFAULT_FN_ATTRS_Z \
30
- __attribute__((__always_inline__, __nodebug__, \
31
- __target__("avx512f,evex512,gfni"), \
32
- __min_vector_width__(512)))
40
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), \
41
+ __min_vector_width__(512))) constexpr
33
42
  /* Default attributes for ZMM masked forms. */
34
43
  #define __DEFAULT_FN_ATTRS_Z_MASK \
35
- __attribute__((__always_inline__, __nodebug__, \
36
- __target__("avx512bw,evex512,gfni"), \
37
- __min_vector_width__(512)))
44
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), \
45
+ __min_vector_width__(512))) constexpr
46
+ #else
47
+ #define __DEFAULT_FN_ATTRS \
48
+ __attribute__((__always_inline__, __nodebug__, __target__("gfni"), \
49
+ __min_vector_width__(128)))
50
+
51
+ /* Default attributes for YMM unmasked form. */
52
+ #define __DEFAULT_FN_ATTRS_Y \
53
+ __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), \
54
+ __min_vector_width__(256)))
38
55
 
39
56
  /* Default attributes for VLX masked forms. */
40
57
  #define __DEFAULT_FN_ATTRS_VL128 \
41
58
  __attribute__((__always_inline__, __nodebug__, \
42
- __target__("avx512bw,avx512vl,gfni,no-evex512"), \
59
+ __target__("avx512bw,avx512vl,gfni"), \
43
60
  __min_vector_width__(128)))
44
61
  #define __DEFAULT_FN_ATTRS_VL256 \
45
62
  __attribute__((__always_inline__, __nodebug__, \
46
- __target__("avx512bw,avx512vl,gfni,no-evex512"), \
63
+ __target__("avx512bw,avx512vl,gfni"), \
47
64
  __min_vector_width__(256)))
48
65
 
66
+ /* Default attributes for ZMM unmasked forms. */
67
+ #define __DEFAULT_FN_ATTRS_Z \
68
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), \
69
+ __min_vector_width__(512)))
70
+ /* Default attributes for ZMM masked forms. */
71
+ #define __DEFAULT_FN_ATTRS_Z_MASK \
72
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), \
73
+ __min_vector_width__(512)))
74
+ #endif
75
+
49
76
  #define _mm_gf2p8affineinv_epi64_epi8(A, B, I) \
50
77
  ((__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
51
78
  (__v16qi)(__m128i)(B), \