@cpp-linter/clang-tidy-win32-x64 15.0.2 → 17.0.6

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 (222) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_intrinsics.h +191 -0
  4. package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_math.h +1 -1
  5. package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_texture_intrinsics.h +2 -0
  6. package/lib/clang/{15.0.2 → 17}/include/__clang_hip_cmath.h +1 -1
  7. package/lib/clang/{15.0.2 → 17}/include/__clang_hip_libdevice_declares.h +37 -30
  8. package/lib/clang/{15.0.2 → 17}/include/__clang_hip_math.h +66 -84
  9. package/lib/clang/{15.0.2 → 17}/include/__clang_hip_runtime_wrapper.h +14 -0
  10. package/lib/clang/17/include/__clang_hip_stdlib.h +43 -0
  11. package/lib/clang/17/include/adxintrin.h +227 -0
  12. package/lib/clang/{15.0.2 → 17}/include/altivec.h +150 -138
  13. package/lib/clang/17/include/amxcomplexintrin.h +169 -0
  14. package/lib/clang/17/include/amxfp16intrin.h +58 -0
  15. package/lib/clang/{15.0.2 → 17}/include/amxintrin.h +32 -0
  16. package/lib/clang/{15.0.2 → 17}/include/arm_acle.h +86 -81
  17. package/lib/clang/{15.0.2 → 17}/include/arm_fp16.h +1 -1
  18. package/lib/clang/{15.0.2 → 17}/include/arm_neon.h +26534 -26541
  19. package/lib/clang/{15.0.2 → 17}/include/arm_neon_sve_bridge.h +0 -2
  20. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +642 -0
  21. package/lib/clang/{15.0.2 → 17}/include/arm_sve.h +7852 -7949
  22. package/lib/clang/17/include/avx2intrin.h +5263 -0
  23. package/lib/clang/{15.0.2 → 17}/include/avx512bf16intrin.h +18 -15
  24. package/lib/clang/{15.0.2 → 17}/include/avx512fintrin.h +19 -9
  25. package/lib/clang/{15.0.2 → 17}/include/avx512fp16intrin.h +18 -17
  26. package/lib/clang/{15.0.2 → 17}/include/avx512ifmavlintrin.h +13 -27
  27. package/lib/clang/{15.0.2 → 17}/include/avx512vlbf16intrin.h +31 -38
  28. package/lib/clang/{15.0.2 → 17}/include/avx512vlbwintrin.h +352 -0
  29. package/lib/clang/{15.0.2 → 17}/include/avx512vlfp16intrin.h +3 -0
  30. package/lib/clang/17/include/avxifmaintrin.h +177 -0
  31. package/lib/clang/{15.0.2 → 17}/include/avxintrin.h +32 -9
  32. package/lib/clang/17/include/avxneconvertintrin.h +484 -0
  33. package/lib/clang/17/include/avxvnniint16intrin.h +473 -0
  34. package/lib/clang/17/include/avxvnniint8intrin.h +471 -0
  35. package/lib/clang/17/include/bmi2intrin.h +255 -0
  36. package/lib/clang/{15.0.2 → 17}/include/clflushoptintrin.h +9 -0
  37. package/lib/clang/{15.0.2 → 17}/include/clzerointrin.h +7 -5
  38. package/lib/clang/17/include/cmpccxaddintrin.h +70 -0
  39. package/lib/clang/{15.0.2 → 17}/include/cpuid.h +11 -1
  40. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.h +9 -0
  41. package/lib/clang/17/include/cuda_wrappers/bits/basic_string.tcc +9 -0
  42. package/lib/clang/17/include/cuda_wrappers/bits/shared_ptr_base.h +9 -0
  43. package/lib/clang/17/include/cuda_wrappers/cmath +90 -0
  44. package/lib/clang/{15.0.2 → 17}/include/emmintrin.h +11 -1
  45. package/lib/clang/{15.0.2 → 17}/include/float.h +17 -10
  46. package/lib/clang/17/include/fmaintrin.h +780 -0
  47. package/lib/clang/{15.0.2 → 17}/include/gfniintrin.h +7 -5
  48. package/lib/clang/{15.0.2 → 17}/include/hlsl/hlsl_basic_types.h +3 -0
  49. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +480 -0
  50. package/lib/clang/{15.0.2 → 17}/include/immintrin.h +151 -11
  51. package/lib/clang/17/include/larchintrin.h +234 -0
  52. package/lib/clang/{15.0.2 → 17}/include/limits.h +8 -3
  53. package/lib/clang/17/include/llvm_libc_wrappers/ctype.h +85 -0
  54. package/lib/clang/17/include/llvm_libc_wrappers/inttypes.h +34 -0
  55. package/lib/clang/17/include/llvm_libc_wrappers/stdio.h +34 -0
  56. package/lib/clang/17/include/llvm_libc_wrappers/stdlib.h +42 -0
  57. package/lib/clang/17/include/llvm_libc_wrappers/string.h +37 -0
  58. package/lib/clang/17/include/mwaitxintrin.h +62 -0
  59. package/lib/clang/{15.0.2 → 17}/include/opencl-c-base.h +22 -0
  60. package/lib/clang/{15.0.2 → 17}/include/opencl-c.h +175 -145
  61. package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -1
  62. package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/new +1 -1
  63. package/lib/clang/{15.0.2 → 17}/include/pmmintrin.h +12 -6
  64. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/emmintrin.h +4 -3
  65. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/mm_malloc.h +1 -1
  66. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/mmintrin.h +2 -2
  67. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/pmmintrin.h +2 -2
  68. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/smmintrin.h +4 -4
  69. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/tmmintrin.h +2 -2
  70. package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/xmmintrin.h +2 -2
  71. package/lib/clang/17/include/prfchiintrin.h +61 -0
  72. package/lib/clang/17/include/raointintrin.h +203 -0
  73. package/lib/clang/17/include/rdseedintrin.h +105 -0
  74. package/lib/clang/17/include/riscv_ntlh.h +28 -0
  75. package/lib/clang/17/include/riscv_vector.h +400 -0
  76. package/lib/clang/17/include/sha512intrin.h +200 -0
  77. package/lib/clang/17/include/shaintrin.h +189 -0
  78. package/lib/clang/17/include/sifive_vector.h +16 -0
  79. package/lib/clang/17/include/sm3intrin.h +238 -0
  80. package/lib/clang/17/include/sm4intrin.h +269 -0
  81. package/lib/clang/{15.0.2 → 17}/include/smmintrin.h +2 -2
  82. package/lib/clang/{15.0.2 → 17}/include/stdalign.h +5 -0
  83. package/lib/clang/{15.0.2 → 17}/include/stdarg.h +23 -7
  84. package/lib/clang/{15.0.2 → 17}/include/stdatomic.h +14 -4
  85. package/lib/clang/{15.0.2 → 17}/include/stdbool.h +2 -2
  86. package/lib/clang/{15.0.2 → 17}/include/stddef.h +13 -1
  87. package/lib/clang/{15.0.2 → 17}/include/stdint.h +158 -40
  88. package/lib/clang/{15.0.2 → 17}/include/stdnoreturn.h +1 -1
  89. package/lib/clang/{15.0.2 → 17}/include/unwind.h +2 -1
  90. package/lib/clang/{15.0.2 → 17}/include/velintrin.h +1 -1
  91. package/lib/clang/{15.0.2 → 17}/include/wasm_simd128.h +132 -12
  92. package/lib/clang/{15.0.2 → 17}/include/x86gprintrin.h +19 -7
  93. package/lib/clang/{15.0.2 → 17}/include/xmmintrin.h +1 -2
  94. package/lib/clang/17/include/xsavecintrin.h +84 -0
  95. package/package.json +6 -6
  96. package/lib/clang/15.0.2/include/adxintrin.h +0 -72
  97. package/lib/clang/15.0.2/include/avx2intrin.h +0 -1148
  98. package/lib/clang/15.0.2/include/bmi2intrin.h +0 -81
  99. package/lib/clang/15.0.2/include/fmaintrin.h +0 -216
  100. package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +0 -15
  101. package/lib/clang/15.0.2/include/mwaitxintrin.h +0 -33
  102. package/lib/clang/15.0.2/include/rdseedintrin.h +0 -42
  103. package/lib/clang/15.0.2/include/riscv_vector.h +0 -202
  104. package/lib/clang/15.0.2/include/shaintrin.h +0 -61
  105. package/lib/clang/15.0.2/include/xsavecintrin.h +0 -34
  106. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_builtin_vars.h +0 -0
  107. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_cmath.h +0 -0
  108. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_complex_builtins.h +0 -0
  109. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_device_functions.h +0 -0
  110. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_libdevice_declares.h +0 -0
  111. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_math_forward_declares.h +0 -0
  112. /package/lib/clang/{15.0.2 → 17}/include/__clang_cuda_runtime_wrapper.h +0 -0
  113. /package/lib/clang/{15.0.2 → 17}/include/__stddef_max_align_t.h +0 -0
  114. /package/lib/clang/{15.0.2 → 17}/include/__wmmintrin_aes.h +0 -0
  115. /package/lib/clang/{15.0.2 → 17}/include/__wmmintrin_pclmul.h +0 -0
  116. /package/lib/clang/{15.0.2 → 17}/include/ammintrin.h +0 -0
  117. /package/lib/clang/{15.0.2 → 17}/include/arm64intr.h +0 -0
  118. /package/lib/clang/{15.0.2 → 17}/include/arm_bf16.h +0 -0
  119. /package/lib/clang/{15.0.2 → 17}/include/arm_cde.h +0 -0
  120. /package/lib/clang/{15.0.2 → 17}/include/arm_cmse.h +0 -0
  121. /package/lib/clang/{15.0.2 → 17}/include/arm_mve.h +0 -0
  122. /package/lib/clang/{15.0.2 → 17}/include/armintr.h +0 -0
  123. /package/lib/clang/{15.0.2 → 17}/include/avx512bitalgintrin.h +0 -0
  124. /package/lib/clang/{15.0.2 → 17}/include/avx512bwintrin.h +0 -0
  125. /package/lib/clang/{15.0.2 → 17}/include/avx512cdintrin.h +0 -0
  126. /package/lib/clang/{15.0.2 → 17}/include/avx512dqintrin.h +0 -0
  127. /package/lib/clang/{15.0.2 → 17}/include/avx512erintrin.h +0 -0
  128. /package/lib/clang/{15.0.2 → 17}/include/avx512ifmaintrin.h +0 -0
  129. /package/lib/clang/{15.0.2 → 17}/include/avx512pfintrin.h +0 -0
  130. /package/lib/clang/{15.0.2 → 17}/include/avx512vbmi2intrin.h +0 -0
  131. /package/lib/clang/{15.0.2 → 17}/include/avx512vbmiintrin.h +0 -0
  132. /package/lib/clang/{15.0.2 → 17}/include/avx512vbmivlintrin.h +0 -0
  133. /package/lib/clang/{15.0.2 → 17}/include/avx512vlbitalgintrin.h +0 -0
  134. /package/lib/clang/{15.0.2 → 17}/include/avx512vlcdintrin.h +0 -0
  135. /package/lib/clang/{15.0.2 → 17}/include/avx512vldqintrin.h +0 -0
  136. /package/lib/clang/{15.0.2 → 17}/include/avx512vlintrin.h +0 -0
  137. /package/lib/clang/{15.0.2 → 17}/include/avx512vlvbmi2intrin.h +0 -0
  138. /package/lib/clang/{15.0.2 → 17}/include/avx512vlvnniintrin.h +0 -0
  139. /package/lib/clang/{15.0.2 → 17}/include/avx512vlvp2intersectintrin.h +0 -0
  140. /package/lib/clang/{15.0.2 → 17}/include/avx512vnniintrin.h +0 -0
  141. /package/lib/clang/{15.0.2 → 17}/include/avx512vp2intersectintrin.h +0 -0
  142. /package/lib/clang/{15.0.2 → 17}/include/avx512vpopcntdqintrin.h +0 -0
  143. /package/lib/clang/{15.0.2 → 17}/include/avx512vpopcntdqvlintrin.h +0 -0
  144. /package/lib/clang/{15.0.2 → 17}/include/avxvnniintrin.h +0 -0
  145. /package/lib/clang/{15.0.2 → 17}/include/bmiintrin.h +0 -0
  146. /package/lib/clang/{15.0.2 → 17}/include/builtins.h +0 -0
  147. /package/lib/clang/{15.0.2 → 17}/include/cet.h +0 -0
  148. /package/lib/clang/{15.0.2 → 17}/include/cetintrin.h +0 -0
  149. /package/lib/clang/{15.0.2 → 17}/include/cldemoteintrin.h +0 -0
  150. /package/lib/clang/{15.0.2 → 17}/include/clwbintrin.h +0 -0
  151. /package/lib/clang/{15.0.2 → 17}/include/crc32intrin.h +0 -0
  152. /package/lib/clang/{15.0.2 → 17}/include/cuda_wrappers/algorithm +0 -0
  153. /package/lib/clang/{15.0.2 → 17}/include/cuda_wrappers/complex +0 -0
  154. /package/lib/clang/{15.0.2 → 17}/include/cuda_wrappers/new +0 -0
  155. /package/lib/clang/{15.0.2 → 17}/include/enqcmdintrin.h +0 -0
  156. /package/lib/clang/{15.0.2 → 17}/include/f16cintrin.h +0 -0
  157. /package/lib/clang/{15.0.2 → 17}/include/fma4intrin.h +0 -0
  158. /package/lib/clang/{15.0.2 → 17}/include/fxsrintrin.h +0 -0
  159. /package/lib/clang/{15.0.2 → 17}/include/hexagon_circ_brev_intrinsics.h +0 -0
  160. /package/lib/clang/{15.0.2 → 17}/include/hexagon_protos.h +0 -0
  161. /package/lib/clang/{15.0.2 → 17}/include/hexagon_types.h +0 -0
  162. /package/lib/clang/{15.0.2 → 17}/include/hlsl.h +0 -0
  163. /package/lib/clang/{15.0.2 → 17}/include/hresetintrin.h +0 -0
  164. /package/lib/clang/{15.0.2 → 17}/include/htmintrin.h +0 -0
  165. /package/lib/clang/{15.0.2 → 17}/include/htmxlintrin.h +0 -0
  166. /package/lib/clang/{15.0.2 → 17}/include/hvx_hexagon_protos.h +0 -0
  167. /package/lib/clang/{15.0.2 → 17}/include/ia32intrin.h +0 -0
  168. /package/lib/clang/{15.0.2 → 17}/include/intrin.h +0 -0
  169. /package/lib/clang/{15.0.2 → 17}/include/inttypes.h +0 -0
  170. /package/lib/clang/{15.0.2 → 17}/include/invpcidintrin.h +0 -0
  171. /package/lib/clang/{15.0.2 → 17}/include/iso646.h +0 -0
  172. /package/lib/clang/{15.0.2 → 17}/include/keylockerintrin.h +0 -0
  173. /package/lib/clang/{15.0.2 → 17}/include/lwpintrin.h +0 -0
  174. /package/lib/clang/{15.0.2 → 17}/include/lzcntintrin.h +0 -0
  175. /package/lib/clang/{15.0.2 → 17}/include/mm3dnow.h +0 -0
  176. /package/lib/clang/{15.0.2 → 17}/include/mm_malloc.h +0 -0
  177. /package/lib/clang/{15.0.2 → 17}/include/mmintrin.h +0 -0
  178. /package/lib/clang/{15.0.2 → 17}/include/module.modulemap +0 -0
  179. /package/lib/clang/{15.0.2 → 17}/include/movdirintrin.h +0 -0
  180. /package/lib/clang/{15.0.2 → 17}/include/msa.h +0 -0
  181. /package/lib/clang/{15.0.2 → 17}/include/nmmintrin.h +0 -0
  182. /package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/cmath +0 -0
  183. /package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/complex +0 -0
  184. /package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/complex.h +0 -0
  185. /package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/complex_cmath.h +0 -0
  186. /package/lib/clang/{15.0.2 → 17}/include/openmp_wrappers/math.h +0 -0
  187. /package/lib/clang/{15.0.2 → 17}/include/pconfigintrin.h +0 -0
  188. /package/lib/clang/{15.0.2 → 17}/include/pkuintrin.h +0 -0
  189. /package/lib/clang/{15.0.2 → 17}/include/popcntintrin.h +0 -0
  190. /package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/bmi2intrin.h +0 -0
  191. /package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/bmiintrin.h +0 -0
  192. /package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/immintrin.h +0 -0
  193. /package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/x86gprintrin.h +0 -0
  194. /package/lib/clang/{15.0.2 → 17}/include/ppc_wrappers/x86intrin.h +0 -0
  195. /package/lib/clang/{15.0.2 → 17}/include/prfchwintrin.h +0 -0
  196. /package/lib/clang/{15.0.2 → 17}/include/ptwriteintrin.h +0 -0
  197. /package/lib/clang/{15.0.2 → 17}/include/rdpruintrin.h +0 -0
  198. /package/lib/clang/{15.0.2 → 17}/include/rtmintrin.h +0 -0
  199. /package/lib/clang/{15.0.2 → 17}/include/s390intrin.h +0 -0
  200. /package/lib/clang/{15.0.2 → 17}/include/serializeintrin.h +0 -0
  201. /package/lib/clang/{15.0.2 → 17}/include/sgxintrin.h +0 -0
  202. /package/lib/clang/{15.0.2 → 17}/include/tbmintrin.h +0 -0
  203. /package/lib/clang/{15.0.2 → 17}/include/tgmath.h +0 -0
  204. /package/lib/clang/{15.0.2 → 17}/include/tmmintrin.h +0 -0
  205. /package/lib/clang/{15.0.2 → 17}/include/tsxldtrkintrin.h +0 -0
  206. /package/lib/clang/{15.0.2 → 17}/include/uintrintrin.h +0 -0
  207. /package/lib/clang/{15.0.2 → 17}/include/vadefs.h +0 -0
  208. /package/lib/clang/{15.0.2 → 17}/include/vaesintrin.h +0 -0
  209. /package/lib/clang/{15.0.2 → 17}/include/varargs.h +0 -0
  210. /package/lib/clang/{15.0.2 → 17}/include/vecintrin.h +0 -0
  211. /package/lib/clang/{15.0.2 → 17}/include/velintrin_approx.h +0 -0
  212. /package/lib/clang/{15.0.2 → 17}/include/velintrin_gen.h +0 -0
  213. /package/lib/clang/{15.0.2 → 17}/include/vpclmulqdqintrin.h +0 -0
  214. /package/lib/clang/{15.0.2 → 17}/include/waitpkgintrin.h +0 -0
  215. /package/lib/clang/{15.0.2 → 17}/include/wbnoinvdintrin.h +0 -0
  216. /package/lib/clang/{15.0.2 → 17}/include/wmmintrin.h +0 -0
  217. /package/lib/clang/{15.0.2 → 17}/include/x86intrin.h +0 -0
  218. /package/lib/clang/{15.0.2 → 17}/include/xopintrin.h +0 -0
  219. /package/lib/clang/{15.0.2 → 17}/include/xsaveintrin.h +0 -0
  220. /package/lib/clang/{15.0.2 → 17}/include/xsaveoptintrin.h +0 -0
  221. /package/lib/clang/{15.0.2 → 17}/include/xsavesintrin.h +0 -0
  222. /package/lib/clang/{15.0.2 → 17}/include/xtestintrin.h +0 -0
@@ -0,0 +1,484 @@
1
+ /*===-------------- avxneconvertintrin.h - AVXNECONVERT --------------------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+
10
+ #ifndef __IMMINTRIN_H
11
+ #error \
12
+ "Never use <avxneconvertintrin.h> directly; include <immintrin.h> instead."
13
+ #endif // __IMMINTRIN_H
14
+
15
+ #ifdef __SSE2__
16
+
17
+ #ifndef __AVXNECONVERTINTRIN_H
18
+ #define __AVXNECONVERTINTRIN_H
19
+
20
+ /* Define the default attributes for the functions in this file. */
21
+ #define __DEFAULT_FN_ATTRS128 \
22
+ __attribute__((__always_inline__, __nodebug__, __target__("avxneconvert"), \
23
+ __min_vector_width__(128)))
24
+ #define __DEFAULT_FN_ATTRS256 \
25
+ __attribute__((__always_inline__, __nodebug__, __target__("avxneconvert"), \
26
+ __min_vector_width__(256)))
27
+
28
+ /// Convert scalar BF16 (16-bit) floating-point element
29
+ /// stored at memory locations starting at location \a __A to a
30
+ /// single-precision (32-bit) floating-point, broadcast it to packed
31
+ /// single-precision (32-bit) floating-point elements, and store the results in
32
+ /// \a dst.
33
+ ///
34
+ /// \headerfile <x86intrin.h>
35
+ ///
36
+ /// \code
37
+ /// _mm_bcstnebf16_ps(const void *__A);
38
+ /// \endcode
39
+ ///
40
+ /// This intrinsic corresponds to the \c VBCSTNEBF162PS instruction.
41
+ ///
42
+ /// \param __A
43
+ /// A pointer to a 16-bit memory location. The address of the memory
44
+ /// location does not have to be aligned.
45
+ /// \returns
46
+ /// A 128-bit vector of [4 x float].
47
+ ///
48
+ /// \code{.operation}
49
+ /// b := Convert_BF16_To_FP32(MEM[__A+15:__A])
50
+ /// FOR j := 0 to 3
51
+ /// m := j*32
52
+ /// dst[m+31:m] := b
53
+ /// ENDFOR
54
+ /// dst[MAX:128] := 0
55
+ /// \endcode
56
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
57
+ _mm_bcstnebf16_ps(const void *__A) {
58
+ return (__m128)__builtin_ia32_vbcstnebf162ps128((const __bf16 *)__A);
59
+ }
60
+
61
+ /// Convert scalar BF16 (16-bit) floating-point element
62
+ /// stored at memory locations starting at location \a __A to a
63
+ /// single-precision (32-bit) floating-point, broadcast it to packed
64
+ /// single-precision (32-bit) floating-point elements, and store the results in
65
+ /// \a dst.
66
+ ///
67
+ /// \headerfile <x86intrin.h>
68
+ ///
69
+ /// \code
70
+ /// _mm256_bcstnebf16_ps(const void *__A);
71
+ /// \endcode
72
+ ///
73
+ /// This intrinsic corresponds to the \c VBCSTNEBF162PS instruction.
74
+ ///
75
+ /// \param __A
76
+ /// A pointer to a 16-bit memory location. The address of the memory
77
+ /// location does not have to be aligned.
78
+ /// \returns
79
+ /// A 256-bit vector of [8 x float].
80
+ ///
81
+ /// \code{.operation}
82
+ /// b := Convert_BF16_To_FP32(MEM[__A+15:__A])
83
+ /// FOR j := 0 to 7
84
+ /// m := j*32
85
+ /// dst[m+31:m] := b
86
+ /// ENDFOR
87
+ /// dst[MAX:256] := 0
88
+ /// \endcode
89
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
90
+ _mm256_bcstnebf16_ps(const void *__A) {
91
+ return (__m256)__builtin_ia32_vbcstnebf162ps256((const __bf16 *)__A);
92
+ }
93
+
94
+ /// Convert scalar half-precision (16-bit) floating-point element
95
+ /// stored at memory locations starting at location \a __A to a
96
+ /// single-precision (32-bit) floating-point, broadcast it to packed
97
+ /// single-precision (32-bit) floating-point elements, and store the results in
98
+ /// \a dst.
99
+ ///
100
+ /// \headerfile <x86intrin.h>
101
+ ///
102
+ /// \code
103
+ /// _mm_bcstnesh_ps(const void *__A);
104
+ /// \endcode
105
+ ///
106
+ /// This intrinsic corresponds to the \c VBCSTNESH2PS instruction.
107
+ ///
108
+ /// \param __A
109
+ /// A pointer to a 16-bit memory location. The address of the memory
110
+ /// location does not have to be aligned.
111
+ /// \returns
112
+ /// A 128-bit vector of [4 x float].
113
+ ///
114
+ /// \code{.operation}
115
+ /// b := Convert_FP16_To_FP32(MEM[__A+15:__A])
116
+ /// FOR j := 0 to 3
117
+ /// m := j*32
118
+ /// dst[m+31:m] := b
119
+ /// ENDFOR
120
+ /// dst[MAX:128] := 0
121
+ /// \endcode
122
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
123
+ _mm_bcstnesh_ps(const void *__A) {
124
+ return (__m128)__builtin_ia32_vbcstnesh2ps128((const _Float16 *)__A);
125
+ }
126
+
127
+ /// Convert scalar half-precision (16-bit) floating-point element
128
+ /// stored at memory locations starting at location \a __A to a
129
+ /// single-precision (32-bit) floating-point, broadcast it to packed
130
+ /// single-precision (32-bit) floating-point elements, and store the results in
131
+ /// \a dst.
132
+ ///
133
+ /// \headerfile <x86intrin.h>
134
+ ///
135
+ /// \code
136
+ /// _mm256_bcstnesh_ps(const void *__A);
137
+ /// \endcode
138
+ ///
139
+ /// This intrinsic corresponds to the \c VBCSTNESH2PS instruction.
140
+ ///
141
+ /// \param __A
142
+ /// A pointer to a 16-bit memory location. The address of the memory
143
+ /// location does not have to be aligned.
144
+ /// \returns
145
+ /// A 256-bit vector of [8 x float].
146
+ ///
147
+ /// \code{.operation}
148
+ /// b := Convert_FP16_To_FP32(MEM[__A+15:__A])
149
+ /// FOR j := 0 to 7
150
+ /// m := j*32
151
+ /// dst[m+31:m] := b
152
+ /// ENDFOR
153
+ /// dst[MAX:256] := 0
154
+ /// \endcode
155
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
156
+ _mm256_bcstnesh_ps(const void *__A) {
157
+ return (__m256)__builtin_ia32_vbcstnesh2ps256((const _Float16 *)__A);
158
+ }
159
+
160
+ /// Convert packed BF16 (16-bit) floating-point even-indexed elements
161
+ /// stored at memory locations starting at location \a __A to packed
162
+ /// single-precision (32-bit) floating-point elements, and store the results in
163
+ /// \a dst.
164
+ ///
165
+ /// \headerfile <x86intrin.h>
166
+ ///
167
+ /// \code
168
+ /// _mm_cvtneebf16_ps(const __m128bh *__A);
169
+ /// \endcode
170
+ ///
171
+ /// This intrinsic corresponds to the \c VCVTNEEBF162PS instruction.
172
+ ///
173
+ /// \param __A
174
+ /// A pointer to a 128-bit memory location containing 8 consecutive
175
+ /// BF16 (16-bit) floating-point values.
176
+ /// \returns
177
+ /// A 128-bit vector of [4 x float].
178
+ ///
179
+ /// \code{.operation}
180
+ /// FOR j := 0 to 3
181
+ /// k := j*2
182
+ /// i := k*16
183
+ /// m := j*32
184
+ /// dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+i+15:__A+i])
185
+ /// ENDFOR
186
+ /// dst[MAX:128] := 0
187
+ /// \endcode
188
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
189
+ _mm_cvtneebf16_ps(const __m128bh *__A) {
190
+ return (__m128)__builtin_ia32_vcvtneebf162ps128((const __v8bf *)__A);
191
+ }
192
+
193
+ /// Convert packed BF16 (16-bit) floating-point even-indexed elements
194
+ /// stored at memory locations starting at location \a __A to packed
195
+ /// single-precision (32-bit) floating-point elements, and store the results in
196
+ /// \a dst.
197
+ ///
198
+ /// \headerfile <x86intrin.h>
199
+ ///
200
+ /// \code
201
+ /// _mm256_cvtneebf16_ps(const __m256bh *__A);
202
+ /// \endcode
203
+ ///
204
+ /// This intrinsic corresponds to the \c VCVTNEEBF162PS instruction.
205
+ ///
206
+ /// \param __A
207
+ /// A pointer to a 256-bit memory location containing 16 consecutive
208
+ /// BF16 (16-bit) floating-point values.
209
+ /// \returns
210
+ /// A 256-bit vector of [8 x float].
211
+ ///
212
+ /// \code{.operation}
213
+ /// FOR j := 0 to 7
214
+ /// k := j*2
215
+ /// i := k*16
216
+ /// m := j*32
217
+ /// dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+i+15:__A+i])
218
+ /// ENDFOR
219
+ /// dst[MAX:256] := 0
220
+ /// \endcode
221
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
222
+ _mm256_cvtneebf16_ps(const __m256bh *__A) {
223
+ return (__m256)__builtin_ia32_vcvtneebf162ps256((const __v16bf *)__A);
224
+ }
225
+
226
+ /// Convert packed half-precision (16-bit) floating-point even-indexed elements
227
+ /// stored at memory locations starting at location \a __A to packed
228
+ /// single-precision (32-bit) floating-point elements, and store the results in
229
+ /// \a dst.
230
+ ///
231
+ /// \headerfile <x86intrin.h>
232
+ ///
233
+ /// \code
234
+ /// _mm_cvtneeph_ps(const __m128h *__A);
235
+ /// \endcode
236
+ ///
237
+ /// This intrinsic corresponds to the \c VCVTNEEPH2PS instruction.
238
+ ///
239
+ /// \param __A
240
+ /// A pointer to a 128-bit memory location containing 8 consecutive
241
+ /// half-precision (16-bit) floating-point values.
242
+ /// \returns
243
+ /// A 128-bit vector of [4 x float].
244
+ ///
245
+ /// \code{.operation}
246
+ /// FOR j := 0 to 3
247
+ /// k := j*2
248
+ /// i := k*16
249
+ /// m := j*32
250
+ /// dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+i+15:__A+i])
251
+ /// ENDFOR
252
+ /// dst[MAX:128] := 0
253
+ /// \endcode
254
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
255
+ _mm_cvtneeph_ps(const __m128h *__A) {
256
+ return (__m128)__builtin_ia32_vcvtneeph2ps128((const __v8hf *)__A);
257
+ }
258
+
259
+ /// Convert packed half-precision (16-bit) floating-point even-indexed elements
260
+ /// stored at memory locations starting at location \a __A to packed
261
+ /// single-precision (32-bit) floating-point elements, and store the results in
262
+ /// \a dst.
263
+ ///
264
+ /// \headerfile <x86intrin.h>
265
+ ///
266
+ /// \code
267
+ /// _mm256_cvtneeph_ps(const __m256h *__A);
268
+ /// \endcode
269
+ ///
270
+ /// This intrinsic corresponds to the \c VCVTNEEPH2PS instruction.
271
+ ///
272
+ /// \param __A
273
+ /// A pointer to a 256-bit memory location containing 16 consecutive
274
+ /// half-precision (16-bit) floating-point values.
275
+ /// \returns
276
+ /// A 256-bit vector of [8 x float].
277
+ ///
278
+ /// \code{.operation}
279
+ /// FOR j := 0 to 7
280
+ /// k := j*2
281
+ /// i := k*16
282
+ /// m := j*32
283
+ /// dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+i+15:__A+i])
284
+ /// ENDFOR
285
+ /// dst[MAX:256] := 0
286
+ /// \endcode
287
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
288
+ _mm256_cvtneeph_ps(const __m256h *__A) {
289
+ return (__m256)__builtin_ia32_vcvtneeph2ps256((const __v16hf *)__A);
290
+ }
291
+
292
+ /// Convert packed BF16 (16-bit) floating-point odd-indexed elements
293
+ /// stored at memory locations starting at location \a __A to packed
294
+ /// single-precision (32-bit) floating-point elements, and store the results in
295
+ /// \a dst.
296
+ ///
297
+ /// \headerfile <x86intrin.h>
298
+ ///
299
+ /// \code
300
+ /// _mm_cvtneobf16_ps(const __m128bh *__A);
301
+ /// \endcode
302
+ ///
303
+ /// This intrinsic corresponds to the \c VCVTNEOBF162PS instruction.
304
+ ///
305
+ /// \param __A
306
+ /// A pointer to a 128-bit memory location containing 8 consecutive
307
+ /// BF16 (16-bit) floating-point values.
308
+ /// \returns
309
+ /// A 128-bit vector of [4 x float].
310
+ ///
311
+ /// \code{.operation}
312
+ /// FOR j := 0 to 3
313
+ /// k := j*2+1
314
+ /// i := k*16
315
+ /// m := j*32
316
+ /// dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+i+15:__A+i])
317
+ /// ENDFOR
318
+ /// dst[MAX:128] := 0
319
+ /// \endcode
320
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
321
+ _mm_cvtneobf16_ps(const __m128bh *__A) {
322
+ return (__m128)__builtin_ia32_vcvtneobf162ps128((const __v8bf *)__A);
323
+ }
324
+
325
+ /// Convert packed BF16 (16-bit) floating-point odd-indexed elements
326
+ /// stored at memory locations starting at location \a __A to packed
327
+ /// single-precision (32-bit) floating-point elements, and store the results in
328
+ /// \a dst.
329
+ ///
330
+ /// \headerfile <x86intrin.h>
331
+ ///
332
+ /// \code
333
+ /// _mm256_cvtneobf16_ps(const __m256bh *__A);
334
+ /// \endcode
335
+ ///
336
+ /// This intrinsic corresponds to the \c VCVTNEOBF162PS instruction.
337
+ ///
338
+ /// \param __A
339
+ /// A pointer to a 256-bit memory location containing 16 consecutive
340
+ /// BF16 (16-bit) floating-point values.
341
+ /// \returns
342
+ /// A 256-bit vector of [8 x float].
343
+ ///
344
+ /// \code{.operation}
345
+ /// FOR j := 0 to 7
346
+ /// k := j*2+1
347
+ /// i := k*16
348
+ /// m := j*32
349
+ /// dst[m+31:m] := Convert_BF16_To_FP32(MEM[__A+i+15:__A+i])
350
+ /// ENDFOR
351
+ /// dst[MAX:256] := 0
352
+ /// \endcode
353
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
354
+ _mm256_cvtneobf16_ps(const __m256bh *__A) {
355
+ return (__m256)__builtin_ia32_vcvtneobf162ps256((const __v16bf *)__A);
356
+ }
357
+
358
+ /// Convert packed half-precision (16-bit) floating-point odd-indexed elements
359
+ /// stored at memory locations starting at location \a __A to packed
360
+ /// single-precision (32-bit) floating-point elements, and store the results in
361
+ /// \a dst.
362
+ ///
363
+ /// \headerfile <x86intrin.h>
364
+ ///
365
+ /// \code
366
+ /// _mm_cvtneoph_ps(const __m128h *__A);
367
+ /// \endcode
368
+ ///
369
+ /// This intrinsic corresponds to the \c VCVTNEOPH2PS instruction.
370
+ ///
371
+ /// \param __A
372
+ /// A pointer to a 128-bit memory location containing 8 consecutive
373
+ /// half-precision (16-bit) floating-point values.
374
+ /// \returns
375
+ /// A 128-bit vector of [4 x float].
376
+ ///
377
+ /// \code{.operation}
378
+ /// FOR j := 0 to 3
379
+ /// k := j*2+1
380
+ /// i := k*16
381
+ /// m := j*32
382
+ /// dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+i+15:__A+i])
383
+ /// ENDFOR
384
+ /// dst[MAX:128] := 0
385
+ /// \endcode
386
+ static __inline__ __m128 __DEFAULT_FN_ATTRS128
387
+ _mm_cvtneoph_ps(const __m128h *__A) {
388
+ return (__m128)__builtin_ia32_vcvtneoph2ps128((const __v8hf *)__A);
389
+ }
390
+
391
+ /// Convert packed half-precision (16-bit) floating-point odd-indexed elements
392
+ /// stored at memory locations starting at location \a __A to packed
393
+ /// single-precision (32-bit) floating-point elements, and store the results in
394
+ /// \a dst.
395
+ ///
396
+ /// \headerfile <x86intrin.h>
397
+ ///
398
+ /// \code
399
+ /// _mm256_cvtneoph_ps(const __m256h *__A);
400
+ /// \endcode
401
+ ///
402
+ /// This intrinsic corresponds to the \c VCVTNEOPH2PS instruction.
403
+ ///
404
+ /// \param __A
405
+ /// A pointer to a 256-bit memory location containing 16 consecutive
406
+ /// half-precision (16-bit) floating-point values.
407
+ /// \returns
408
+ /// A 256-bit vector of [8 x float].
409
+ ///
410
+ /// \code{.operation}
411
+ /// FOR j := 0 to 7
412
+ /// k := j*2+1
413
+ /// i := k*16
414
+ /// m := j*32
415
+ /// dst[m+31:m] := Convert_FP16_To_FP32(MEM[__A+i+15:__A+i])
416
+ /// ENDFOR
417
+ /// dst[MAX:256] := 0
418
+ /// \endcode
419
+ static __inline__ __m256 __DEFAULT_FN_ATTRS256
420
+ _mm256_cvtneoph_ps(const __m256h *__A) {
421
+ return (__m256)__builtin_ia32_vcvtneoph2ps256((const __v16hf *)__A);
422
+ }
423
+
424
+ /// Convert packed single-precision (32-bit) floating-point elements in \a __A
425
+ /// to packed BF16 (16-bit) floating-point elements, and store the results in \a
426
+ /// dst.
427
+ ///
428
+ /// \headerfile <x86intrin.h>
429
+ ///
430
+ /// \code
431
+ /// _mm_cvtneps_avx_pbh(__m128 __A);
432
+ /// \endcode
433
+ ///
434
+ /// This intrinsic corresponds to the \c VCVTNEPS2BF16 instruction.
435
+ ///
436
+ /// \param __A
437
+ /// A 128-bit vector of [4 x float].
438
+ /// \returns
439
+ /// A 128-bit vector of [8 x bfloat].
440
+ ///
441
+ /// \code{.operation}
442
+ /// FOR j := 0 to 3
443
+ /// dst.word[j] := Convert_FP32_To_BF16(__A.fp32[j])
444
+ /// ENDFOR
445
+ /// dst[MAX:128] := 0
446
+ /// \endcode
447
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS128
448
+ _mm_cvtneps_avx_pbh(__m128 __A) {
449
+ return (__m128bh)__builtin_ia32_vcvtneps2bf16128((__v4sf)__A);
450
+ }
451
+
452
+ /// Convert packed single-precision (32-bit) floating-point elements in \a __A
453
+ /// to packed BF16 (16-bit) floating-point elements, and store the results in \a
454
+ /// dst.
455
+ ///
456
+ /// \headerfile <x86intrin.h>
457
+ ///
458
+ /// \code
459
+ /// _mm256_cvtneps_avx_pbh(__m256 __A);
460
+ /// \endcode
461
+ ///
462
+ /// This intrinsic corresponds to the \c VCVTNEPS2BF16 instruction.
463
+ ///
464
+ /// \param __A
465
+ /// A 256-bit vector of [8 x float].
466
+ /// \returns
467
+ /// A 128-bit vector of [8 x bfloat].
468
+ ///
469
+ /// \code{.operation}
470
+ /// FOR j := 0 to 7
471
+ /// dst.word[j] := Convert_FP32_To_BF16(a.fp32[j])
472
+ /// ENDFOR
473
+ /// dst[MAX:128] := 0
474
+ /// \endcode
475
+ static __inline__ __m128bh __DEFAULT_FN_ATTRS256
476
+ _mm256_cvtneps_avx_pbh(__m256 __A) {
477
+ return (__m128bh)__builtin_ia32_vcvtneps2bf16256((__v8sf)__A);
478
+ }
479
+
480
+ #undef __DEFAULT_FN_ATTRS128
481
+ #undef __DEFAULT_FN_ATTRS256
482
+
483
+ #endif // __AVXNECONVERTINTRIN_H
484
+ #endif // __SSE2__