@cpp-linter/clang-tidy-linux-arm64 18.1.5 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{18 → 20}/include/__clang_cuda_device_functions.h +14 -0
  4. package/lib/clang/{18 → 20}/include/__clang_cuda_intrinsics.h +1 -3
  5. package/lib/clang/{18 → 20}/include/__clang_cuda_math.h +5 -0
  6. package/lib/clang/{18 → 20}/include/__clang_hip_cmath.h +6 -1
  7. package/lib/clang/{18 → 20}/include/__clang_hip_math.h +5 -0
  8. package/lib/clang/20/include/__stdarg_header_macro.h +12 -0
  9. package/lib/clang/20/include/__stddef_header_macro.h +12 -0
  10. package/lib/clang/{18 → 20}/include/adcintrin.h +5 -0
  11. package/lib/clang/{18 → 20}/include/adxintrin.h +5 -0
  12. package/lib/clang/{18 → 20}/include/altivec.h +8 -8
  13. package/lib/clang/20/include/amdgpuintrin.h +194 -0
  14. package/lib/clang/20/include/amxavx512intrin.h +382 -0
  15. package/lib/clang/20/include/amxbf16transposeintrin.h +94 -0
  16. package/lib/clang/20/include/amxcomplextransposeintrin.h +303 -0
  17. package/lib/clang/{18 → 20}/include/amxfp16intrin.h +35 -0
  18. package/lib/clang/20/include/amxfp16transposeintrin.h +94 -0
  19. package/lib/clang/20/include/amxfp8intrin.h +230 -0
  20. package/lib/clang/{18 → 20}/include/amxintrin.h +5 -35
  21. package/lib/clang/20/include/amxmovrsintrin.h +48 -0
  22. package/lib/clang/20/include/amxmovrstransposeintrin.h +200 -0
  23. package/lib/clang/20/include/amxtf32intrin.h +108 -0
  24. package/lib/clang/20/include/amxtf32transposeintrin.h +105 -0
  25. package/lib/clang/20/include/amxtransposeintrin.h +248 -0
  26. package/lib/clang/{18 → 20}/include/arm_acle.h +49 -26
  27. package/lib/clang/{18 → 20}/include/arm_fp16.h +1 -1
  28. package/lib/clang/{18 → 20}/include/arm_neon.h +45631 -43745
  29. package/lib/clang/{18 → 20}/include/arm_sme.h +641 -6
  30. package/lib/clang/{18 → 20}/include/arm_sve.h +28311 -27738
  31. package/lib/clang/{18 → 20}/include/arm_vector_types.h +92 -5
  32. package/lib/clang/20/include/avx10_2_512bf16intrin.h +561 -0
  33. package/lib/clang/20/include/avx10_2_512convertintrin.h +320 -0
  34. package/lib/clang/20/include/avx10_2_512minmaxintrin.h +127 -0
  35. package/lib/clang/20/include/avx10_2_512niintrin.h +314 -0
  36. package/lib/clang/20/include/avx10_2_512satcvtdsintrin.h +303 -0
  37. package/lib/clang/20/include/avx10_2_512satcvtintrin.h +301 -0
  38. package/lib/clang/20/include/avx10_2bf16intrin.h +1085 -0
  39. package/lib/clang/20/include/avx10_2convertintrin.h +589 -0
  40. package/lib/clang/20/include/avx10_2copyintrin.h +66 -0
  41. package/lib/clang/20/include/avx10_2minmaxintrin.h +277 -0
  42. package/lib/clang/20/include/avx10_2niintrin.h +2075 -0
  43. package/lib/clang/20/include/avx10_2satcvtdsintrin.h +496 -0
  44. package/lib/clang/20/include/avx10_2satcvtintrin.h +444 -0
  45. package/lib/clang/{18 → 20}/include/avx2intrin.h +9 -0
  46. package/lib/clang/{18 → 20}/include/avx512bitalgintrin.h +2 -2
  47. package/lib/clang/{18 → 20}/include/avx512fintrin.h +22 -14
  48. package/lib/clang/{18 → 20}/include/avx512fp16intrin.h +38 -38
  49. package/lib/clang/{18 → 20}/include/avx512vlbitalgintrin.h +4 -4
  50. package/lib/clang/{18 → 20}/include/avx512vpopcntdqintrin.h +12 -4
  51. package/lib/clang/{18 → 20}/include/avx512vpopcntdqvlintrin.h +16 -8
  52. package/lib/clang/{18 → 20}/include/avxintrin.h +88 -60
  53. package/lib/clang/{18 → 20}/include/avxvnniint16intrin.h +36 -77
  54. package/lib/clang/{18 → 20}/include/avxvnniint8intrin.h +36 -77
  55. package/lib/clang/{18 → 20}/include/bmi2intrin.h +15 -17
  56. package/lib/clang/{18 → 20}/include/bmiintrin.h +33 -41
  57. package/lib/clang/{18 → 20}/include/builtins.h +3 -0
  58. package/lib/clang/{18 → 20}/include/cmpccxaddintrin.h +1 -1
  59. package/lib/clang/{18 → 20}/include/cpuid.h +35 -14
  60. package/lib/clang/{18 → 20}/include/cuda_wrappers/algorithm +1 -1
  61. package/lib/clang/{18 → 20}/include/cuda_wrappers/cmath +4 -0
  62. package/lib/clang/{18 → 20}/include/cuda_wrappers/new +2 -0
  63. package/lib/clang/{18 → 20}/include/emmintrin.h +442 -277
  64. package/lib/clang/{18 → 20}/include/float.h +28 -0
  65. package/lib/clang/{18 → 20}/include/fmaintrin.h +32 -16
  66. package/lib/clang/{18 → 20}/include/gfniintrin.h +32 -10
  67. package/lib/clang/20/include/gpuintrin.h +224 -0
  68. package/lib/clang/{18 → 20}/include/hexagon_types.h +8 -4
  69. package/lib/clang/{18 → 20}/include/hlsl/hlsl_basic_types.h +57 -4
  70. package/lib/clang/20/include/hlsl/hlsl_detail.h +84 -0
  71. package/lib/clang/20/include/hlsl/hlsl_intrinsics.h +2814 -0
  72. package/lib/clang/{18 → 20}/include/hlsl.h +11 -0
  73. package/lib/clang/{18 → 20}/include/hvx_hexagon_protos.h +427 -0
  74. package/lib/clang/{18 → 20}/include/ia32intrin.h +36 -36
  75. package/lib/clang/{18 → 20}/include/immintrin.h +171 -161
  76. package/lib/clang/{18 → 20}/include/intrin.h +62 -228
  77. package/lib/clang/20/include/intrin0.h +256 -0
  78. package/lib/clang/{18 → 20}/include/inttypes.h +4 -0
  79. package/lib/clang/{18 → 20}/include/iso646.h +4 -0
  80. package/lib/clang/{18 → 20}/include/keylockerintrin.h +5 -8
  81. package/lib/clang/{18 → 20}/include/larchintrin.h +22 -8
  82. package/lib/clang/{18 → 20}/include/lasxintrin.h +27 -25
  83. package/lib/clang/{18 → 20}/include/limits.h +12 -4
  84. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/assert.h +1 -1
  85. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/ctype.h +38 -0
  86. package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdlib.h +8 -0
  87. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload.h +31 -0
  88. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_device.h +10 -0
  89. package/lib/clang/20/include/llvm_offload_wrappers/__llvm_offload_host.h +15 -0
  90. package/lib/clang/{18 → 20}/include/lsxintrin.h +27 -25
  91. package/lib/clang/{18 → 20}/include/lzcntintrin.h +10 -7
  92. package/lib/clang/20/include/mm3dnow.h +22 -0
  93. package/lib/clang/{18 → 20}/include/mmintrin.h +285 -239
  94. package/lib/clang/{18 → 20}/include/module.modulemap +16 -5
  95. package/lib/clang/20/include/movrs_avx10_2_512intrin.h +98 -0
  96. package/lib/clang/20/include/movrs_avx10_2intrin.h +174 -0
  97. package/lib/clang/20/include/movrsintrin.h +59 -0
  98. package/lib/clang/20/include/nvptxintrin.h +202 -0
  99. package/lib/clang/{18 → 20}/include/opencl-c-base.h +8 -0
  100. package/lib/clang/{18 → 20}/include/opencl-c.h +15 -0
  101. package/lib/clang/{18 → 20}/include/openmp_wrappers/__clang_openmp_device_functions.h +4 -5
  102. package/lib/clang/{18 → 20}/include/openmp_wrappers/complex_cmath.h +7 -2
  103. package/lib/clang/{18 → 20}/include/pmmintrin.h +16 -3
  104. package/lib/clang/{18 → 20}/include/popcntintrin.h +7 -7
  105. package/lib/clang/{18 → 20}/include/prfchwintrin.h +10 -8
  106. package/lib/clang/20/include/ptrauth.h +336 -0
  107. package/lib/clang/20/include/riscv_corev_alu.h +128 -0
  108. package/lib/clang/{18 → 20}/include/riscv_vector.h +0 -5
  109. package/lib/clang/20/include/sifive_vector.h +118 -0
  110. package/lib/clang/20/include/sm4evexintrin.h +32 -0
  111. package/lib/clang/{18 → 20}/include/smmintrin.h +18 -12
  112. package/lib/clang/{18 → 20}/include/stdarg.h +15 -19
  113. package/lib/clang/{18 → 20}/include/stdatomic.h +11 -1
  114. package/lib/clang/{18 → 20}/include/stdbool.h +5 -0
  115. package/lib/clang/{18 → 20}/include/stddef.h +38 -22
  116. package/lib/clang/{18 → 20}/include/stdint.h +5 -0
  117. package/lib/clang/{18 → 20}/include/stdnoreturn.h +6 -0
  118. package/lib/clang/{18 → 20}/include/tbmintrin.h +25 -37
  119. package/lib/clang/{18 → 20}/include/tmmintrin.h +84 -54
  120. package/lib/clang/{18 → 20}/include/varargs.h +5 -1
  121. package/lib/clang/{18 → 20}/include/vecintrin.h +1778 -60
  122. package/lib/clang/{18 → 20}/include/wasm_simd128.h +167 -21
  123. package/lib/clang/{18 → 20}/include/x86gprintrin.h +7 -14
  124. package/lib/clang/20/include/x86intrin.h +53 -0
  125. package/lib/clang/{18 → 20}/include/xmmintrin.h +455 -276
  126. package/lib/clang/20/include/yvals_core.h +25 -0
  127. package/lib/clang/20/include/zos_wrappers/builtins.h +18 -0
  128. package/package.json +6 -6
  129. package/lib/clang/18/include/avx512erintrin.h +0 -271
  130. package/lib/clang/18/include/avx512pfintrin.h +0 -92
  131. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +0 -624
  132. package/lib/clang/18/include/mm3dnow.h +0 -157
  133. package/lib/clang/18/include/sifive_vector.h +0 -16
  134. package/lib/clang/18/include/x86intrin.h +0 -67
  135. /package/lib/clang/{18 → 20}/include/__clang_cuda_builtin_vars.h +0 -0
  136. /package/lib/clang/{18 → 20}/include/__clang_cuda_cmath.h +0 -0
  137. /package/lib/clang/{18 → 20}/include/__clang_cuda_complex_builtins.h +0 -0
  138. /package/lib/clang/{18 → 20}/include/__clang_cuda_libdevice_declares.h +0 -0
  139. /package/lib/clang/{18 → 20}/include/__clang_cuda_math_forward_declares.h +0 -0
  140. /package/lib/clang/{18 → 20}/include/__clang_cuda_runtime_wrapper.h +0 -0
  141. /package/lib/clang/{18 → 20}/include/__clang_cuda_texture_intrinsics.h +0 -0
  142. /package/lib/clang/{18 → 20}/include/__clang_hip_libdevice_declares.h +0 -0
  143. /package/lib/clang/{18 → 20}/include/__clang_hip_runtime_wrapper.h +0 -0
  144. /package/lib/clang/{18 → 20}/include/__clang_hip_stdlib.h +0 -0
  145. /package/lib/clang/{18 → 20}/include/__stdarg___gnuc_va_list.h +0 -0
  146. /package/lib/clang/{18 → 20}/include/__stdarg___va_copy.h +0 -0
  147. /package/lib/clang/{18 → 20}/include/__stdarg_va_arg.h +0 -0
  148. /package/lib/clang/{18 → 20}/include/__stdarg_va_copy.h +0 -0
  149. /package/lib/clang/{18 → 20}/include/__stdarg_va_list.h +0 -0
  150. /package/lib/clang/{18 → 20}/include/__stddef_max_align_t.h +0 -0
  151. /package/lib/clang/{18 → 20}/include/__stddef_null.h +0 -0
  152. /package/lib/clang/{18 → 20}/include/__stddef_nullptr_t.h +0 -0
  153. /package/lib/clang/{18 → 20}/include/__stddef_offsetof.h +0 -0
  154. /package/lib/clang/{18 → 20}/include/__stddef_ptrdiff_t.h +0 -0
  155. /package/lib/clang/{18 → 20}/include/__stddef_rsize_t.h +0 -0
  156. /package/lib/clang/{18 → 20}/include/__stddef_size_t.h +0 -0
  157. /package/lib/clang/{18 → 20}/include/__stddef_unreachable.h +0 -0
  158. /package/lib/clang/{18 → 20}/include/__stddef_wchar_t.h +0 -0
  159. /package/lib/clang/{18 → 20}/include/__stddef_wint_t.h +0 -0
  160. /package/lib/clang/{18 → 20}/include/__wmmintrin_aes.h +0 -0
  161. /package/lib/clang/{18 → 20}/include/__wmmintrin_pclmul.h +0 -0
  162. /package/lib/clang/{18 → 20}/include/ammintrin.h +0 -0
  163. /package/lib/clang/{18 → 20}/include/amxcomplexintrin.h +0 -0
  164. /package/lib/clang/{18 → 20}/include/arm64intr.h +0 -0
  165. /package/lib/clang/{18 → 20}/include/arm_bf16.h +0 -0
  166. /package/lib/clang/{18 → 20}/include/arm_cde.h +0 -0
  167. /package/lib/clang/{18 → 20}/include/arm_cmse.h +0 -0
  168. /package/lib/clang/{18 → 20}/include/arm_mve.h +0 -0
  169. /package/lib/clang/{18 → 20}/include/arm_neon_sve_bridge.h +0 -0
  170. /package/lib/clang/{18 → 20}/include/armintr.h +0 -0
  171. /package/lib/clang/{18 → 20}/include/avx512bf16intrin.h +0 -0
  172. /package/lib/clang/{18 → 20}/include/avx512bwintrin.h +0 -0
  173. /package/lib/clang/{18 → 20}/include/avx512cdintrin.h +0 -0
  174. /package/lib/clang/{18 → 20}/include/avx512dqintrin.h +0 -0
  175. /package/lib/clang/{18 → 20}/include/avx512ifmaintrin.h +0 -0
  176. /package/lib/clang/{18 → 20}/include/avx512ifmavlintrin.h +0 -0
  177. /package/lib/clang/{18 → 20}/include/avx512vbmi2intrin.h +0 -0
  178. /package/lib/clang/{18 → 20}/include/avx512vbmiintrin.h +0 -0
  179. /package/lib/clang/{18 → 20}/include/avx512vbmivlintrin.h +0 -0
  180. /package/lib/clang/{18 → 20}/include/avx512vlbf16intrin.h +0 -0
  181. /package/lib/clang/{18 → 20}/include/avx512vlbwintrin.h +0 -0
  182. /package/lib/clang/{18 → 20}/include/avx512vlcdintrin.h +0 -0
  183. /package/lib/clang/{18 → 20}/include/avx512vldqintrin.h +0 -0
  184. /package/lib/clang/{18 → 20}/include/avx512vlfp16intrin.h +0 -0
  185. /package/lib/clang/{18 → 20}/include/avx512vlintrin.h +0 -0
  186. /package/lib/clang/{18 → 20}/include/avx512vlvbmi2intrin.h +0 -0
  187. /package/lib/clang/{18 → 20}/include/avx512vlvnniintrin.h +0 -0
  188. /package/lib/clang/{18 → 20}/include/avx512vlvp2intersectintrin.h +0 -0
  189. /package/lib/clang/{18 → 20}/include/avx512vnniintrin.h +0 -0
  190. /package/lib/clang/{18 → 20}/include/avx512vp2intersectintrin.h +0 -0
  191. /package/lib/clang/{18 → 20}/include/avxifmaintrin.h +0 -0
  192. /package/lib/clang/{18 → 20}/include/avxneconvertintrin.h +0 -0
  193. /package/lib/clang/{18 → 20}/include/avxvnniintrin.h +0 -0
  194. /package/lib/clang/{18 → 20}/include/cet.h +0 -0
  195. /package/lib/clang/{18 → 20}/include/cetintrin.h +0 -0
  196. /package/lib/clang/{18 → 20}/include/cldemoteintrin.h +0 -0
  197. /package/lib/clang/{18 → 20}/include/clflushoptintrin.h +0 -0
  198. /package/lib/clang/{18 → 20}/include/clwbintrin.h +0 -0
  199. /package/lib/clang/{18 → 20}/include/clzerointrin.h +0 -0
  200. /package/lib/clang/{18 → 20}/include/crc32intrin.h +0 -0
  201. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.h +0 -0
  202. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  203. /package/lib/clang/{18 → 20}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  204. /package/lib/clang/{18 → 20}/include/cuda_wrappers/complex +0 -0
  205. /package/lib/clang/{18 → 20}/include/enqcmdintrin.h +0 -0
  206. /package/lib/clang/{18 → 20}/include/f16cintrin.h +0 -0
  207. /package/lib/clang/{18 → 20}/include/fma4intrin.h +0 -0
  208. /package/lib/clang/{18 → 20}/include/fxsrintrin.h +0 -0
  209. /package/lib/clang/{18 → 20}/include/hexagon_circ_brev_intrinsics.h +0 -0
  210. /package/lib/clang/{18 → 20}/include/hexagon_protos.h +0 -0
  211. /package/lib/clang/{18 → 20}/include/hresetintrin.h +0 -0
  212. /package/lib/clang/{18 → 20}/include/htmintrin.h +0 -0
  213. /package/lib/clang/{18 → 20}/include/htmxlintrin.h +0 -0
  214. /package/lib/clang/{18 → 20}/include/invpcidintrin.h +0 -0
  215. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/inttypes.h +0 -0
  216. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/stdio.h +0 -0
  217. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/string.h +0 -0
  218. /package/lib/clang/{18 → 20}/include/llvm_libc_wrappers/time.h +0 -0
  219. /package/lib/clang/{18 → 20}/include/lwpintrin.h +0 -0
  220. /package/lib/clang/{18 → 20}/include/mm_malloc.h +0 -0
  221. /package/lib/clang/{18 → 20}/include/movdirintrin.h +0 -0
  222. /package/lib/clang/{18 → 20}/include/msa.h +0 -0
  223. /package/lib/clang/{18 → 20}/include/mwaitxintrin.h +0 -0
  224. /package/lib/clang/{18 → 20}/include/nmmintrin.h +0 -0
  225. /package/lib/clang/{18 → 20}/include/openmp_wrappers/cmath +0 -0
  226. /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex +0 -0
  227. /package/lib/clang/{18 → 20}/include/openmp_wrappers/complex.h +0 -0
  228. /package/lib/clang/{18 → 20}/include/openmp_wrappers/math.h +0 -0
  229. /package/lib/clang/{18 → 20}/include/openmp_wrappers/new +0 -0
  230. /package/lib/clang/{18 → 20}/include/pconfigintrin.h +0 -0
  231. /package/lib/clang/{18 → 20}/include/pkuintrin.h +0 -0
  232. /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmi2intrin.h +0 -0
  233. /package/lib/clang/{18 → 20}/include/ppc_wrappers/bmiintrin.h +0 -0
  234. /package/lib/clang/{18 → 20}/include/ppc_wrappers/emmintrin.h +0 -0
  235. /package/lib/clang/{18 → 20}/include/ppc_wrappers/immintrin.h +0 -0
  236. /package/lib/clang/{18 → 20}/include/ppc_wrappers/mm_malloc.h +0 -0
  237. /package/lib/clang/{18 → 20}/include/ppc_wrappers/mmintrin.h +0 -0
  238. /package/lib/clang/{18 → 20}/include/ppc_wrappers/nmmintrin.h +0 -0
  239. /package/lib/clang/{18 → 20}/include/ppc_wrappers/pmmintrin.h +0 -0
  240. /package/lib/clang/{18 → 20}/include/ppc_wrappers/smmintrin.h +0 -0
  241. /package/lib/clang/{18 → 20}/include/ppc_wrappers/tmmintrin.h +0 -0
  242. /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86gprintrin.h +0 -0
  243. /package/lib/clang/{18 → 20}/include/ppc_wrappers/x86intrin.h +0 -0
  244. /package/lib/clang/{18 → 20}/include/ppc_wrappers/xmmintrin.h +0 -0
  245. /package/lib/clang/{18 → 20}/include/prfchiintrin.h +0 -0
  246. /package/lib/clang/{18 → 20}/include/ptwriteintrin.h +0 -0
  247. /package/lib/clang/{18 → 20}/include/raointintrin.h +0 -0
  248. /package/lib/clang/{18 → 20}/include/rdpruintrin.h +0 -0
  249. /package/lib/clang/{18 → 20}/include/rdseedintrin.h +0 -0
  250. /package/lib/clang/{18 → 20}/include/riscv_bitmanip.h +0 -0
  251. /package/lib/clang/{18 → 20}/include/riscv_crypto.h +0 -0
  252. /package/lib/clang/{18 → 20}/include/riscv_ntlh.h +0 -0
  253. /package/lib/clang/{18 → 20}/include/rtmintrin.h +0 -0
  254. /package/lib/clang/{18 → 20}/include/s390intrin.h +0 -0
  255. /package/lib/clang/{18 → 20}/include/serializeintrin.h +0 -0
  256. /package/lib/clang/{18 → 20}/include/sgxintrin.h +0 -0
  257. /package/lib/clang/{18 → 20}/include/sha512intrin.h +0 -0
  258. /package/lib/clang/{18 → 20}/include/shaintrin.h +0 -0
  259. /package/lib/clang/{18 → 20}/include/sm3intrin.h +0 -0
  260. /package/lib/clang/{18 → 20}/include/sm4intrin.h +0 -0
  261. /package/lib/clang/{18 → 20}/include/stdalign.h +0 -0
  262. /package/lib/clang/{18 → 20}/include/stdckdint.h +0 -0
  263. /package/lib/clang/{18 → 20}/include/tgmath.h +0 -0
  264. /package/lib/clang/{18 → 20}/include/tsxldtrkintrin.h +0 -0
  265. /package/lib/clang/{18 → 20}/include/uintrintrin.h +0 -0
  266. /package/lib/clang/{18 → 20}/include/unwind.h +0 -0
  267. /package/lib/clang/{18 → 20}/include/usermsrintrin.h +0 -0
  268. /package/lib/clang/{18 → 20}/include/vadefs.h +0 -0
  269. /package/lib/clang/{18 → 20}/include/vaesintrin.h +0 -0
  270. /package/lib/clang/{18 → 20}/include/velintrin.h +0 -0
  271. /package/lib/clang/{18 → 20}/include/velintrin_approx.h +0 -0
  272. /package/lib/clang/{18 → 20}/include/velintrin_gen.h +0 -0
  273. /package/lib/clang/{18 → 20}/include/vpclmulqdqintrin.h +0 -0
  274. /package/lib/clang/{18 → 20}/include/waitpkgintrin.h +0 -0
  275. /package/lib/clang/{18 → 20}/include/wbnoinvdintrin.h +0 -0
  276. /package/lib/clang/{18 → 20}/include/wmmintrin.h +0 -0
  277. /package/lib/clang/{18 → 20}/include/xopintrin.h +0 -0
  278. /package/lib/clang/{18 → 20}/include/xsavecintrin.h +0 -0
  279. /package/lib/clang/{18 → 20}/include/xsaveintrin.h +0 -0
  280. /package/lib/clang/{18 → 20}/include/xsaveoptintrin.h +0 -0
  281. /package/lib/clang/{18 → 20}/include/xsavesintrin.h +0 -0
  282. /package/lib/clang/{18 → 20}/include/xtestintrin.h +0 -0
@@ -96,8 +96,8 @@ _mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
96
96
  (h5), (h4), (h3), (h2), (h1))
97
97
 
98
98
  static __inline __m512h __DEFAULT_FN_ATTRS512
99
- _mm512_set1_pch(_Float16 _Complex h) {
100
- return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float, h));
99
+ _mm512_set1_pch(_Float16 _Complex __h) {
100
+ return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float, __h));
101
101
  }
102
102
 
103
103
  static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_castph_ps(__m128h __a) {
@@ -282,75 +282,75 @@ _mm512_zextph256_ph512(__m256h __a) {
282
282
  #define _mm_comi_sh(A, B, pred) \
283
283
  _mm_comi_round_sh((A), (B), (pred), _MM_FROUND_CUR_DIRECTION)
284
284
 
285
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h A,
286
- __m128h B) {
287
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_EQ_OS,
285
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sh(__m128h __A,
286
+ __m128h __B) {
287
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OS,
288
288
  _MM_FROUND_CUR_DIRECTION);
289
289
  }
290
290
 
291
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h A,
292
- __m128h B) {
293
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_LT_OS,
291
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sh(__m128h __A,
292
+ __m128h __B) {
293
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OS,
294
294
  _MM_FROUND_CUR_DIRECTION);
295
295
  }
296
296
 
297
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h A,
298
- __m128h B) {
299
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_LE_OS,
297
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sh(__m128h __A,
298
+ __m128h __B) {
299
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OS,
300
300
  _MM_FROUND_CUR_DIRECTION);
301
301
  }
302
302
 
303
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h A,
304
- __m128h B) {
305
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_GT_OS,
303
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sh(__m128h __A,
304
+ __m128h __B) {
305
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OS,
306
306
  _MM_FROUND_CUR_DIRECTION);
307
307
  }
308
308
 
309
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h A,
310
- __m128h B) {
311
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_GE_OS,
309
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sh(__m128h __A,
310
+ __m128h __B) {
311
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OS,
312
312
  _MM_FROUND_CUR_DIRECTION);
313
313
  }
314
314
 
315
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h A,
316
- __m128h B) {
317
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_NEQ_US,
315
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sh(__m128h __A,
316
+ __m128h __B) {
317
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_US,
318
318
  _MM_FROUND_CUR_DIRECTION);
319
319
  }
320
320
 
321
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h A,
322
- __m128h B) {
323
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_EQ_OQ,
321
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomieq_sh(__m128h __A,
322
+ __m128h __B) {
323
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_EQ_OQ,
324
324
  _MM_FROUND_CUR_DIRECTION);
325
325
  }
326
326
 
327
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h A,
328
- __m128h B) {
329
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_LT_OQ,
327
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomilt_sh(__m128h __A,
328
+ __m128h __B) {
329
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LT_OQ,
330
330
  _MM_FROUND_CUR_DIRECTION);
331
331
  }
332
332
 
333
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h A,
334
- __m128h B) {
335
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_LE_OQ,
333
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomile_sh(__m128h __A,
334
+ __m128h __B) {
335
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_LE_OQ,
336
336
  _MM_FROUND_CUR_DIRECTION);
337
337
  }
338
338
 
339
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h A,
340
- __m128h B) {
341
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_GT_OQ,
339
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomigt_sh(__m128h __A,
340
+ __m128h __B) {
341
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GT_OQ,
342
342
  _MM_FROUND_CUR_DIRECTION);
343
343
  }
344
344
 
345
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h A,
346
- __m128h B) {
347
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_GE_OQ,
345
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomige_sh(__m128h __A,
346
+ __m128h __B) {
347
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_GE_OQ,
348
348
  _MM_FROUND_CUR_DIRECTION);
349
349
  }
350
350
 
351
- static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h A,
352
- __m128h B) {
353
- return __builtin_ia32_vcomish((__v8hf)A, (__v8hf)B, _CMP_NEQ_UQ,
351
+ static __inline__ int __DEFAULT_FN_ATTRS128 _mm_ucomineq_sh(__m128h __A,
352
+ __m128h __B) {
353
+ return __builtin_ia32_vcomish((__v8hf)__A, (__v8hf)__B, _CMP_NEQ_UQ,
354
354
  _MM_FROUND_CUR_DIRECTION);
355
355
  }
356
356
 
@@ -27,7 +27,7 @@
27
27
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
28
28
  _mm256_popcnt_epi16(__m256i __A)
29
29
  {
30
- return (__m256i) __builtin_ia32_vpopcntw_256((__v16hi) __A);
30
+ return (__m256i)__builtin_elementwise_popcount((__v16hu)__A);
31
31
  }
32
32
 
33
33
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
@@ -49,7 +49,7 @@ _mm256_maskz_popcnt_epi16(__mmask16 __U, __m256i __B)
49
49
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
50
50
  _mm_popcnt_epi16(__m128i __A)
51
51
  {
52
- return (__m128i) __builtin_ia32_vpopcntw_128((__v8hi) __A);
52
+ return (__m128i)__builtin_elementwise_popcount((__v8hu)__A);
53
53
  }
54
54
 
55
55
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
@@ -71,7 +71,7 @@ _mm_maskz_popcnt_epi16(__mmask8 __U, __m128i __B)
71
71
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
72
72
  _mm256_popcnt_epi8(__m256i __A)
73
73
  {
74
- return (__m256i) __builtin_ia32_vpopcntb_256((__v32qi) __A);
74
+ return (__m256i)__builtin_elementwise_popcount((__v32qu)__A);
75
75
  }
76
76
 
77
77
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
@@ -93,7 +93,7 @@ _mm256_maskz_popcnt_epi8(__mmask32 __U, __m256i __B)
93
93
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
94
94
  _mm_popcnt_epi8(__m128i __A)
95
95
  {
96
- return (__m128i) __builtin_ia32_vpopcntb_128((__v16qi) __A);
96
+ return (__m128i)__builtin_elementwise_popcount((__v16qu)__A);
97
97
  }
98
98
 
99
99
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
@@ -21,8 +21,15 @@
21
21
  __target__("avx512vpopcntdq,evex512"), \
22
22
  __min_vector_width__(512)))
23
23
 
24
- static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi64(__m512i __A) {
25
- return (__m512i)__builtin_ia32_vpopcntq_512((__v8di)__A);
24
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
25
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
26
+ #else
27
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
28
+ #endif
29
+
30
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
31
+ _mm512_popcnt_epi64(__m512i __A) {
32
+ return (__m512i)__builtin_elementwise_popcount((__v8du)__A);
26
33
  }
27
34
 
28
35
  static __inline__ __m512i __DEFAULT_FN_ATTRS
@@ -36,8 +43,9 @@ _mm512_maskz_popcnt_epi64(__mmask8 __U, __m512i __A) {
36
43
  return _mm512_mask_popcnt_epi64((__m512i)_mm512_setzero_si512(), __U, __A);
37
44
  }
38
45
 
39
- static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi32(__m512i __A) {
40
- return (__m512i)__builtin_ia32_vpopcntd_512((__v16si)__A);
46
+ static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
47
+ _mm512_popcnt_epi32(__m512i __A) {
48
+ return (__m512i)__builtin_elementwise_popcount((__v16su)__A);
41
49
  }
42
50
 
43
51
  static __inline__ __m512i __DEFAULT_FN_ATTRS
@@ -25,9 +25,17 @@
25
25
  __target__("avx512vpopcntdq,avx512vl,no-evex512"), \
26
26
  __min_vector_width__(256)))
27
27
 
28
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
28
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
29
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
30
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
31
+ #else
32
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
33
+ #define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
34
+ #endif
35
+
36
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
29
37
  _mm_popcnt_epi64(__m128i __A) {
30
- return (__m128i)__builtin_ia32_vpopcntq_128((__v2di)__A);
38
+ return (__m128i)__builtin_elementwise_popcount((__v2du)__A);
31
39
  }
32
40
 
33
41
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
@@ -41,9 +49,9 @@ _mm_maskz_popcnt_epi64(__mmask8 __U, __m128i __A) {
41
49
  return _mm_mask_popcnt_epi64((__m128i)_mm_setzero_si128(), __U, __A);
42
50
  }
43
51
 
44
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
52
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
45
53
  _mm_popcnt_epi32(__m128i __A) {
46
- return (__m128i)__builtin_ia32_vpopcntd_128((__v4si)__A);
54
+ return (__m128i)__builtin_elementwise_popcount((__v4su)__A);
47
55
  }
48
56
 
49
57
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
@@ -57,9 +65,9 @@ _mm_maskz_popcnt_epi32(__mmask8 __U, __m128i __A) {
57
65
  return _mm_mask_popcnt_epi32((__m128i)_mm_setzero_si128(), __U, __A);
58
66
  }
59
67
 
60
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
68
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
61
69
  _mm256_popcnt_epi64(__m256i __A) {
62
- return (__m256i)__builtin_ia32_vpopcntq_256((__v4di)__A);
70
+ return (__m256i)__builtin_elementwise_popcount((__v4du)__A);
63
71
  }
64
72
 
65
73
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
@@ -73,9 +81,9 @@ _mm256_maskz_popcnt_epi64(__mmask8 __U, __m256i __A) {
73
81
  return _mm256_mask_popcnt_epi64((__m256i)_mm256_setzero_si256(), __U, __A);
74
82
  }
75
83
 
76
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
84
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
77
85
  _mm256_popcnt_epi32(__m256i __A) {
78
- return (__m256i)__builtin_ia32_vpopcntd_256((__v8si)__A);
86
+ return (__m256i)__builtin_elementwise_popcount((__v8su)__A);
79
87
  }
80
88
 
81
89
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
@@ -50,12 +50,29 @@ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
50
50
  #endif
51
51
 
52
52
  /* Define the default attributes for the functions in this file. */
53
+ #if defined(__EVEX512__) && !defined(__AVX10_1_512__)
53
54
  #define __DEFAULT_FN_ATTRS \
54
55
  __attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
55
56
  __min_vector_width__(256)))
56
57
  #define __DEFAULT_FN_ATTRS128 \
57
58
  __attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
58
59
  __min_vector_width__(128)))
60
+ #else
61
+ #define __DEFAULT_FN_ATTRS \
62
+ __attribute__((__always_inline__, __nodebug__, __target__("avx"), \
63
+ __min_vector_width__(256)))
64
+ #define __DEFAULT_FN_ATTRS128 \
65
+ __attribute__((__always_inline__, __nodebug__, __target__("avx"), \
66
+ __min_vector_width__(128)))
67
+ #endif
68
+
69
+ #if defined(__cplusplus) && (__cplusplus >= 201103L)
70
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
71
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
72
+ #else
73
+ #define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS128
74
+ #define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS
75
+ #endif
59
76
 
60
77
  /* Arithmetic */
61
78
  /// Adds two 256-bit vectors of [4 x double].
@@ -207,6 +224,8 @@ _mm256_div_ps(__m256 __a, __m256 __b)
207
224
  /// Compares two 256-bit vectors of [4 x double] and returns the greater
208
225
  /// of each pair of values.
209
226
  ///
227
+ /// If either value in a comparison is NaN, returns the value from \a __b.
228
+ ///
210
229
  /// \headerfile <x86intrin.h>
211
230
  ///
212
231
  /// This intrinsic corresponds to the <c> VMAXPD </c> instruction.
@@ -226,6 +245,8 @@ _mm256_max_pd(__m256d __a, __m256d __b)
226
245
  /// Compares two 256-bit vectors of [8 x float] and returns the greater
227
246
  /// of each pair of values.
228
247
  ///
248
+ /// If either value in a comparison is NaN, returns the value from \a __b.
249
+ ///
229
250
  /// \headerfile <x86intrin.h>
230
251
  ///
231
252
  /// This intrinsic corresponds to the <c> VMAXPS </c> instruction.
@@ -245,6 +266,8 @@ _mm256_max_ps(__m256 __a, __m256 __b)
245
266
  /// Compares two 256-bit vectors of [4 x double] and returns the lesser
246
267
  /// of each pair of values.
247
268
  ///
269
+ /// If either value in a comparison is NaN, returns the value from \a __b.
270
+ ///
248
271
  /// \headerfile <x86intrin.h>
249
272
  ///
250
273
  /// This intrinsic corresponds to the <c> VMINPD </c> instruction.
@@ -264,6 +287,8 @@ _mm256_min_pd(__m256d __a, __m256d __b)
264
287
  /// Compares two 256-bit vectors of [8 x float] and returns the lesser
265
288
  /// of each pair of values.
266
289
  ///
290
+ /// If either value in a comparison is NaN, returns the value from \a __b.
291
+ ///
267
292
  /// \headerfile <x86intrin.h>
268
293
  ///
269
294
  /// This intrinsic corresponds to the <c> VMINPS </c> instruction.
@@ -832,6 +857,7 @@ _mm256_permutevar_pd(__m256d __a, __m256i __c)
832
857
 
833
858
  /// Copies the values stored in a 128-bit vector of [4 x float] as
834
859
  /// specified by the 128-bit integer vector operand.
860
+ ///
835
861
  /// \headerfile <x86intrin.h>
836
862
  ///
837
863
  /// This intrinsic corresponds to the <c> VPERMILPS </c> instruction.
@@ -1574,14 +1600,6 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1574
1600
  (__v4df)(__m256d)(b), (int)(mask)))
1575
1601
 
1576
1602
  /* Compare */
1577
- #define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
1578
- #define _CMP_LT_OS 0x01 /* Less-than (ordered, signaling) */
1579
- #define _CMP_LE_OS 0x02 /* Less-than-or-equal (ordered, signaling) */
1580
- #define _CMP_UNORD_Q 0x03 /* Unordered (non-signaling) */
1581
- #define _CMP_NEQ_UQ 0x04 /* Not-equal (unordered, non-signaling) */
1582
- #define _CMP_NLT_US 0x05 /* Not-less-than (unordered, signaling) */
1583
- #define _CMP_NLE_US 0x06 /* Not-less-than-or-equal (unordered, signaling) */
1584
- #define _CMP_ORD_Q 0x07 /* Ordered (non-signaling) */
1585
1603
  #define _CMP_EQ_UQ 0x08 /* Equal (unordered, non-signaling) */
1586
1604
  #define _CMP_NGE_US 0x09 /* Not-greater-than-or-equal (unordered, signaling) */
1587
1605
  #define _CMP_NGT_US 0x0a /* Not-greater-than (unordered, signaling) */
@@ -1607,13 +1625,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1607
1625
  #define _CMP_GT_OQ 0x1e /* Greater-than (ordered, non-signaling) */
1608
1626
  #define _CMP_TRUE_US 0x1f /* True (unordered, signaling) */
1609
1627
 
1628
+ /* Below intrinsic defined in emmintrin.h can be used for AVX */
1610
1629
  /// Compares each of the corresponding double-precision values of two
1611
1630
  /// 128-bit vectors of [2 x double], using the operation specified by the
1612
1631
  /// immediate integer operand.
1613
1632
  ///
1614
- /// Returns a [2 x double] vector consisting of two doubles corresponding to
1615
- /// the two comparison results: zero if the comparison is false, and all 1's
1616
- /// if the comparison is true.
1633
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
1634
+ /// If either value in a comparison is NaN, comparisons that are ordered
1635
+ /// return false, and comparisons that are unordered return true.
1617
1636
  ///
1618
1637
  /// \headerfile <x86intrin.h>
1619
1638
  ///
@@ -1663,17 +1682,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1663
1682
  /// 0x1E: Greater-than (ordered, non-signaling) \n
1664
1683
  /// 0x1F: True (unordered, signaling)
1665
1684
  /// \returns A 128-bit vector of [2 x double] containing the comparison results.
1666
- #define _mm_cmp_pd(a, b, c) \
1667
- ((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
1668
- (__v2df)(__m128d)(b), (c)))
1685
+ /// \fn __m128d _mm_cmp_pd(__m128d a, __m128d b, const int c)
1669
1686
 
1687
+ /* Below intrinsic defined in xmmintrin.h can be used for AVX */
1670
1688
  /// Compares each of the corresponding values of two 128-bit vectors of
1671
1689
  /// [4 x float], using the operation specified by the immediate integer
1672
1690
  /// operand.
1673
1691
  ///
1674
- /// Returns a [4 x float] vector consisting of four floats corresponding to
1675
- /// the four comparison results: zero if the comparison is false, and all 1's
1676
- /// if the comparison is true.
1692
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
1693
+ /// If either value in a comparison is NaN, comparisons that are ordered
1694
+ /// return false, and comparisons that are unordered return true.
1677
1695
  ///
1678
1696
  /// \headerfile <x86intrin.h>
1679
1697
  ///
@@ -1723,17 +1741,15 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1723
1741
  /// 0x1E: Greater-than (ordered, non-signaling) \n
1724
1742
  /// 0x1F: True (unordered, signaling)
1725
1743
  /// \returns A 128-bit vector of [4 x float] containing the comparison results.
1726
- #define _mm_cmp_ps(a, b, c) \
1727
- ((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
1728
- (__v4sf)(__m128)(b), (c)))
1744
+ /// \fn __m128 _mm_cmp_ps(__m128 a, __m128 b, const int c)
1729
1745
 
1730
1746
  /// Compares each of the corresponding double-precision values of two
1731
1747
  /// 256-bit vectors of [4 x double], using the operation specified by the
1732
1748
  /// immediate integer operand.
1733
1749
  ///
1734
- /// Returns a [4 x double] vector consisting of four doubles corresponding to
1735
- /// the four comparison results: zero if the comparison is false, and all 1's
1736
- /// if the comparison is true.
1750
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
1751
+ /// If either value in a comparison is NaN, comparisons that are ordered
1752
+ /// return false, and comparisons that are unordered return true.
1737
1753
  ///
1738
1754
  /// \headerfile <x86intrin.h>
1739
1755
  ///
@@ -1791,9 +1807,9 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1791
1807
  /// [8 x float], using the operation specified by the immediate integer
1792
1808
  /// operand.
1793
1809
  ///
1794
- /// Returns a [8 x float] vector consisting of eight floats corresponding to
1795
- /// the eight comparison results: zero if the comparison is false, and all
1796
- /// 1's if the comparison is true.
1810
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
1811
+ /// If either value in a comparison is NaN, comparisons that are ordered
1812
+ /// return false, and comparisons that are unordered return true.
1797
1813
  ///
1798
1814
  /// \headerfile <x86intrin.h>
1799
1815
  ///
@@ -1847,12 +1863,14 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1847
1863
  ((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
1848
1864
  (__v8sf)(__m256)(b), (c)))
1849
1865
 
1866
+ /* Below intrinsic defined in emmintrin.h can be used for AVX */
1850
1867
  /// Compares each of the corresponding scalar double-precision values of
1851
1868
  /// two 128-bit vectors of [2 x double], using the operation specified by the
1852
1869
  /// immediate integer operand.
1853
1870
  ///
1854
- /// If the result is true, all 64 bits of the destination vector are set;
1855
- /// otherwise they are cleared.
1871
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFFFFFFFFFF for true.
1872
+ /// If either value in a comparison is NaN, comparisons that are ordered
1873
+ /// return false, and comparisons that are unordered return true.
1856
1874
  ///
1857
1875
  /// \headerfile <x86intrin.h>
1858
1876
  ///
@@ -1902,16 +1920,16 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1902
1920
  /// 0x1E: Greater-than (ordered, non-signaling) \n
1903
1921
  /// 0x1F: True (unordered, signaling)
1904
1922
  /// \returns A 128-bit vector of [2 x double] containing the comparison results.
1905
- #define _mm_cmp_sd(a, b, c) \
1906
- ((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
1907
- (__v2df)(__m128d)(b), (c)))
1923
+ /// \fn __m128d _mm_cmp_sd(__m128d a, __m128d b, const int c)
1908
1924
 
1925
+ /* Below intrinsic defined in xmmintrin.h can be used for AVX */
1909
1926
  /// Compares each of the corresponding scalar values of two 128-bit
1910
1927
  /// vectors of [4 x float], using the operation specified by the immediate
1911
1928
  /// integer operand.
1912
1929
  ///
1913
- /// If the result is true, all 32 bits of the destination vector are set;
1914
- /// otherwise they are cleared.
1930
+ /// Each comparison returns 0x0 for false, 0xFFFFFFFF for true.
1931
+ /// If either value in a comparison is NaN, comparisons that are ordered
1932
+ /// return false, and comparisons that are unordered return true.
1915
1933
  ///
1916
1934
  /// \headerfile <x86intrin.h>
1917
1935
  ///
@@ -1961,9 +1979,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1961
1979
  /// 0x1E: Greater-than (ordered, non-signaling) \n
1962
1980
  /// 0x1F: True (unordered, signaling)
1963
1981
  /// \returns A 128-bit vector of [4 x float] containing the comparison results.
1964
- #define _mm_cmp_ss(a, b, c) \
1965
- ((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
1966
- (__v4sf)(__m128)(b), (c)))
1982
+ /// \fn __m128 _mm_cmp_ss(__m128 a, __m128 b, const int c)
1967
1983
 
1968
1984
  /// Takes a [8 x i32] vector and returns the vector element value
1969
1985
  /// indexed by the immediate constant operand.
@@ -2213,6 +2229,10 @@ _mm256_cvtpd_ps(__m256d __a)
2213
2229
 
2214
2230
  /// Converts a vector of [8 x float] into a vector of [8 x i32].
2215
2231
  ///
2232
+ /// If a converted value does not fit in a 32-bit integer, raises a
2233
+ /// floating-point invalid exception. If the exception is masked, returns
2234
+ /// the most negative integer.
2235
+ ///
2216
2236
  /// \headerfile <x86intrin.h>
2217
2237
  ///
2218
2238
  /// This intrinsic corresponds to the <c> VCVTPS2DQ </c> instruction.
@@ -2242,9 +2262,13 @@ _mm256_cvtps_pd(__m128 __a)
2242
2262
  return (__m256d)__builtin_convertvector((__v4sf)__a, __v4df);
2243
2263
  }
2244
2264
 
2245
- /// Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4
2246
- /// x i32], truncating the result by rounding towards zero when it is
2247
- /// inexact.
2265
+ /// Converts a 256-bit vector of [4 x double] into four signed truncated
2266
+ /// (rounded toward zero) 32-bit integers returned in a 128-bit vector of
2267
+ /// [4 x i32].
2268
+ ///
2269
+ /// If a converted value does not fit in a 32-bit integer, raises a
2270
+ /// floating-point invalid exception. If the exception is masked, returns
2271
+ /// the most negative integer.
2248
2272
  ///
2249
2273
  /// \headerfile <x86intrin.h>
2250
2274
  ///
@@ -2259,9 +2283,12 @@ _mm256_cvttpd_epi32(__m256d __a)
2259
2283
  return (__m128i)__builtin_ia32_cvttpd2dq256((__v4df) __a);
2260
2284
  }
2261
2285
 
2262
- /// Converts a 256-bit vector of [4 x double] into a 128-bit vector of [4
2263
- /// x i32]. When a conversion is inexact, the value returned is rounded
2264
- /// according to the rounding control bits in the MXCSR register.
2286
+ /// Converts a 256-bit vector of [4 x double] into a 128-bit vector of
2287
+ /// [4 x i32].
2288
+ ///
2289
+ /// If a converted value does not fit in a 32-bit integer, raises a
2290
+ /// floating-point invalid exception. If the exception is masked, returns
2291
+ /// the most negative integer.
2265
2292
  ///
2266
2293
  /// \headerfile <x86intrin.h>
2267
2294
  ///
@@ -2276,8 +2303,12 @@ _mm256_cvtpd_epi32(__m256d __a)
2276
2303
  return (__m128i)__builtin_ia32_cvtpd2dq256((__v4df) __a);
2277
2304
  }
2278
2305
 
2279
- /// Converts a vector of [8 x float] into a vector of [8 x i32],
2280
- /// truncating the result by rounding towards zero when it is inexact.
2306
+ /// Converts a vector of [8 x float] into eight signed truncated (rounded
2307
+ /// toward zero) 32-bit integers returned in a vector of [8 x i32].
2308
+ ///
2309
+ /// If a converted value does not fit in a 32-bit integer, raises a
2310
+ /// floating-point invalid exception. If the exception is masked, returns
2311
+ /// the most negative integer.
2281
2312
  ///
2282
2313
  /// \headerfile <x86intrin.h>
2283
2314
  ///
@@ -3675,7 +3706,7 @@ _mm256_undefined_si256(void)
3675
3706
  /// A double-precision floating-point value used to initialize bits [63:0]
3676
3707
  /// of the result.
3677
3708
  /// \returns An initialized 256-bit floating-point vector of [4 x double].
3678
- static __inline __m256d __DEFAULT_FN_ATTRS
3709
+ static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
3679
3710
  _mm256_set_pd(double __a, double __b, double __c, double __d)
3680
3711
  {
3681
3712
  return __extension__ (__m256d){ __d, __c, __b, __a };
@@ -3714,7 +3745,7 @@ _mm256_set_pd(double __a, double __b, double __c, double __d)
3714
3745
  /// A single-precision floating-point value used to initialize bits [31:0]
3715
3746
  /// of the result.
3716
3747
  /// \returns An initialized 256-bit floating-point vector of [8 x float].
3717
- static __inline __m256 __DEFAULT_FN_ATTRS
3748
+ static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
3718
3749
  _mm256_set_ps(float __a, float __b, float __c, float __d,
3719
3750
  float __e, float __f, float __g, float __h)
3720
3751
  {
@@ -3941,7 +3972,7 @@ _mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d)
3941
3972
  /// A double-precision floating-point value used to initialize bits [255:192]
3942
3973
  /// of the result.
3943
3974
  /// \returns An initialized 256-bit floating-point vector of [4 x double].
3944
- static __inline __m256d __DEFAULT_FN_ATTRS
3975
+ static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
3945
3976
  _mm256_setr_pd(double __a, double __b, double __c, double __d)
3946
3977
  {
3947
3978
  return _mm256_set_pd(__d, __c, __b, __a);
@@ -3981,7 +4012,7 @@ _mm256_setr_pd(double __a, double __b, double __c, double __d)
3981
4012
  /// A single-precision floating-point value used to initialize bits [255:224]
3982
4013
  /// of the result.
3983
4014
  /// \returns An initialized 256-bit floating-point vector of [8 x float].
3984
- static __inline __m256 __DEFAULT_FN_ATTRS
4015
+ static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
3985
4016
  _mm256_setr_ps(float __a, float __b, float __c, float __d,
3986
4017
  float __e, float __f, float __g, float __h)
3987
4018
  {
@@ -4198,7 +4229,7 @@ _mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d)
4198
4229
  /// A double-precision floating-point value used to initialize each vector
4199
4230
  /// element of the result.
4200
4231
  /// \returns An initialized 256-bit floating-point vector of [4 x double].
4201
- static __inline __m256d __DEFAULT_FN_ATTRS
4232
+ static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
4202
4233
  _mm256_set1_pd(double __w)
4203
4234
  {
4204
4235
  return _mm256_set_pd(__w, __w, __w, __w);
@@ -4217,7 +4248,7 @@ _mm256_set1_pd(double __w)
4217
4248
  /// A single-precision floating-point value used to initialize each vector
4218
4249
  /// element of the result.
4219
4250
  /// \returns An initialized 256-bit floating-point vector of [8 x float].
4220
- static __inline __m256 __DEFAULT_FN_ATTRS
4251
+ static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
4221
4252
  _mm256_set1_ps(float __w)
4222
4253
  {
4223
4254
  return _mm256_set_ps(__w, __w, __w, __w, __w, __w, __w, __w);
@@ -4308,10 +4339,8 @@ _mm256_set1_epi64x(long long __q)
4308
4339
  /// This intrinsic corresponds to the <c> VXORPS </c> instruction.
4309
4340
  ///
4310
4341
  /// \returns A 256-bit vector of [4 x double] with all elements set to zero.
4311
- static __inline __m256d __DEFAULT_FN_ATTRS
4312
- _mm256_setzero_pd(void)
4313
- {
4314
- return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
4342
+ static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_pd(void) {
4343
+ return __extension__(__m256d){0.0, 0.0, 0.0, 0.0};
4315
4344
  }
4316
4345
 
4317
4346
  /// Constructs a 256-bit floating-point vector of [8 x float] with all
@@ -4322,9 +4351,7 @@ _mm256_setzero_pd(void)
4322
4351
  /// This intrinsic corresponds to the <c> VXORPS </c> instruction.
4323
4352
  ///
4324
4353
  /// \returns A 256-bit vector of [8 x float] with all elements set to zero.
4325
- static __inline __m256 __DEFAULT_FN_ATTRS
4326
- _mm256_setzero_ps(void)
4327
- {
4354
+ static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_setzero_ps(void) {
4328
4355
  return __extension__ (__m256){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
4329
4356
  }
4330
4357
 
@@ -4335,9 +4362,8 @@ _mm256_setzero_ps(void)
4335
4362
  /// This intrinsic corresponds to the <c> VXORPS </c> instruction.
4336
4363
  ///
4337
4364
  /// \returns A 256-bit integer vector initialized to zero.
4338
- static __inline __m256i __DEFAULT_FN_ATTRS
4339
- _mm256_setzero_si256(void)
4340
- {
4365
+ static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
4366
+ _mm256_setzero_si256(void) {
4341
4367
  return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
4342
4368
  }
4343
4369
 
@@ -5107,6 +5133,8 @@ _mm256_storeu2_m128i(__m128i_u *__addr_hi, __m128i_u *__addr_lo, __m256i __a)
5107
5133
  }
5108
5134
 
5109
5135
  #undef __DEFAULT_FN_ATTRS
5136
+ #undef __DEFAULT_FN_ATTRS_CONSTEXPR
5110
5137
  #undef __DEFAULT_FN_ATTRS128
5138
+ #undef __DEFAULT_FN_ATTRS128_CONSTEXPR
5111
5139
 
5112
5140
  #endif /* __AVXINTRIN_H */