@cpp-linter/clang-tidy-win32-x64 14.0.0 → 16.0.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 (203) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_intrinsics.h +7 -7
  4. package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  5. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  6. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_math.h +10 -13
  7. package/lib/clang/{14.0.0 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  8. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  9. package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_pclmul.h +10 -10
  10. package/lib/clang/{14.0.0 → 16}/include/altivec.h +501 -262
  11. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  12. package/lib/clang/{14.0.0 → 16}/include/amxintrin.h +32 -2
  13. package/lib/clang/{14.0.0 → 16}/include/arm_acle.h +76 -75
  14. package/lib/clang/{14.0.0 → 16}/include/arm_fp16.h +90 -90
  15. package/lib/clang/{14.0.0 → 16}/include/arm_neon.h +28468 -28638
  16. package/lib/clang/{14.0.0 → 16}/include/arm_neon_sve_bridge.h +0 -2
  17. package/lib/clang/{14.0.0 → 16}/include/arm_sve.h +7848 -7996
  18. package/lib/clang/{14.0.0 → 16}/include/avx2intrin.h +8 -8
  19. package/lib/clang/{14.0.0 → 16}/include/avx512bf16intrin.h +18 -15
  20. package/lib/clang/{14.0.0 → 16}/include/avx512bwintrin.h +12 -12
  21. package/lib/clang/{14.0.0 → 16}/include/avx512fintrin.h +78 -75
  22. package/lib/clang/{14.0.0 → 16}/include/avx512fp16intrin.h +6 -9
  23. package/lib/clang/{14.0.0 → 16}/include/avx512ifmavlintrin.h +13 -27
  24. package/lib/clang/{14.0.0 → 16}/include/avx512vlbf16intrin.h +31 -38
  25. package/lib/clang/{14.0.0 → 16}/include/avx512vlbwintrin.h +360 -8
  26. package/lib/clang/{14.0.0 → 16}/include/avx512vlfp16intrin.h +3 -0
  27. package/lib/clang/{14.0.0 → 16}/include/avx512vlintrin.h +81 -95
  28. package/lib/clang/{14.0.0 → 16}/include/avx512vlvnniintrin.h +16 -16
  29. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  30. package/lib/clang/{14.0.0 → 16}/include/avxintrin.h +77 -32
  31. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  32. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  33. package/lib/clang/{14.0.0 → 16}/include/avxvnniintrin.h +16 -16
  34. package/lib/clang/{14.0.0 → 16}/include/bmiintrin.h +6 -2
  35. package/lib/clang/{14.0.0 → 16}/include/cetintrin.h +12 -6
  36. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  37. package/lib/clang/{14.0.0 → 16}/include/cpuid.h +12 -1
  38. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  39. package/lib/clang/{14.0.0 → 16}/include/emmintrin.h +559 -769
  40. package/lib/clang/{14.0.0 → 16}/include/f16cintrin.h +3 -3
  41. package/lib/clang/{14.0.0 → 16}/include/float.h +17 -10
  42. package/lib/clang/{14.0.0 → 16}/include/gfniintrin.h +7 -5
  43. package/lib/clang/16/include/hlsl/hlsl_basic_types.h +67 -0
  44. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  45. package/lib/clang/16/include/hlsl.h +15 -0
  46. package/lib/clang/{14.0.0 → 16}/include/hresetintrin.h +2 -2
  47. package/lib/clang/{14.0.0 → 16}/include/ia32intrin.h +11 -11
  48. package/lib/clang/{14.0.0 → 16}/include/immintrin.h +56 -24
  49. package/lib/clang/{14.0.0 → 16}/include/intrin.h +12 -21
  50. package/lib/clang/{14.0.0 → 16}/include/keylockerintrin.h +22 -22
  51. package/lib/clang/16/include/larchintrin.h +234 -0
  52. package/lib/clang/{14.0.0 → 16}/include/limits.h +3 -2
  53. package/lib/clang/{14.0.0 → 16}/include/mm_malloc.h +3 -3
  54. package/lib/clang/{14.0.0 → 16}/include/opencl-c-base.h +29 -0
  55. package/lib/clang/{14.0.0 → 16}/include/opencl-c.h +6904 -7100
  56. package/lib/clang/{14.0.0 → 16}/include/pmmintrin.h +1 -1
  57. package/lib/clang/16/include/ppc_wrappers/bmi2intrin.h +134 -0
  58. package/lib/clang/16/include/ppc_wrappers/bmiintrin.h +165 -0
  59. package/lib/clang/16/include/ppc_wrappers/emmintrin.h +2268 -0
  60. package/lib/clang/16/include/ppc_wrappers/immintrin.h +27 -0
  61. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mm_malloc.h +12 -17
  62. package/lib/clang/{14.0.0 → 16}/include/ppc_wrappers/mmintrin.h +389 -387
  63. package/lib/clang/16/include/ppc_wrappers/pmmintrin.h +145 -0
  64. package/lib/clang/16/include/ppc_wrappers/smmintrin.h +663 -0
  65. package/lib/clang/16/include/ppc_wrappers/tmmintrin.h +453 -0
  66. package/lib/clang/{14.0.0/include/stdnoreturn.h → 16/include/ppc_wrappers/x86gprintrin.h} +7 -6
  67. package/lib/clang/16/include/ppc_wrappers/x86intrin.h +28 -0
  68. package/lib/clang/16/include/ppc_wrappers/xmmintrin.h +1827 -0
  69. package/lib/clang/16/include/prfchiintrin.h +61 -0
  70. package/lib/clang/16/include/raointintrin.h +203 -0
  71. package/lib/clang/16/include/rdpruintrin.h +57 -0
  72. package/lib/clang/{14.0.0 → 16}/include/rdseedintrin.h +3 -3
  73. package/lib/clang/16/include/riscv_vector.h +211 -0
  74. package/lib/clang/{14.0.0 → 16}/include/rtmintrin.h +1 -1
  75. package/lib/clang/{14.0.0 → 16}/include/smmintrin.h +236 -259
  76. package/lib/clang/{14.0.0 → 16}/include/stdarg.h +23 -7
  77. package/lib/clang/{14.0.0 → 16}/include/stdatomic.h +7 -7
  78. package/lib/clang/{14.0.0 → 16}/include/stdbool.h +10 -7
  79. package/lib/clang/{14.0.0 → 16}/include/stddef.h +9 -2
  80. package/lib/clang/{14.0.0 → 16}/include/stdint.h +158 -40
  81. package/lib/clang/16/include/stdnoreturn.h +29 -0
  82. package/lib/clang/{14.0.0 → 16}/include/uintrintrin.h +8 -8
  83. package/lib/clang/{14.0.0 → 16}/include/unwind.h +10 -6
  84. package/lib/clang/16/include/velintrin.h +71 -0
  85. package/lib/clang/16/include/velintrin_approx.h +120 -0
  86. package/lib/clang/16/include/velintrin_gen.h +1257 -0
  87. package/lib/clang/{14.0.0 → 16}/include/wasm_simd128.h +2 -2
  88. package/lib/clang/16/include/x86gprintrin.h +65 -0
  89. package/lib/clang/{14.0.0 → 16}/include/x86intrin.h +4 -0
  90. package/lib/clang/{14.0.0 → 16}/include/xmmintrin.h +10 -5
  91. package/package.json +6 -6
  92. package/lib/clang/14.0.0/include/ppc_wrappers/emmintrin.h +0 -2325
  93. package/lib/clang/14.0.0/include/ppc_wrappers/pmmintrin.h +0 -151
  94. package/lib/clang/14.0.0/include/ppc_wrappers/smmintrin.h +0 -110
  95. package/lib/clang/14.0.0/include/ppc_wrappers/tmmintrin.h +0 -496
  96. package/lib/clang/14.0.0/include/ppc_wrappers/xmmintrin.h +0 -1844
  97. package/lib/clang/14.0.0/include/riscv_vector.h +0 -95423
  98. package/lib/clang/14.0.0/include/x86gprintrin.h +0 -35
  99. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  100. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_cmath.h +0 -0
  101. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  102. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_device_functions.h +0 -0
  103. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  104. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math.h +0 -0
  105. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  106. /package/lib/clang/{14.0.0 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  107. /package/lib/clang/{14.0.0 → 16}/include/__clang_hip_cmath.h +0 -0
  108. /package/lib/clang/{14.0.0 → 16}/include/__stddef_max_align_t.h +0 -0
  109. /package/lib/clang/{14.0.0 → 16}/include/__wmmintrin_aes.h +0 -0
  110. /package/lib/clang/{14.0.0 → 16}/include/adxintrin.h +0 -0
  111. /package/lib/clang/{14.0.0 → 16}/include/ammintrin.h +0 -0
  112. /package/lib/clang/{14.0.0 → 16}/include/arm64intr.h +0 -0
  113. /package/lib/clang/{14.0.0 → 16}/include/arm_bf16.h +0 -0
  114. /package/lib/clang/{14.0.0 → 16}/include/arm_cde.h +0 -0
  115. /package/lib/clang/{14.0.0 → 16}/include/arm_cmse.h +0 -0
  116. /package/lib/clang/{14.0.0 → 16}/include/arm_mve.h +0 -0
  117. /package/lib/clang/{14.0.0 → 16}/include/armintr.h +0 -0
  118. /package/lib/clang/{14.0.0 → 16}/include/avx512bitalgintrin.h +0 -0
  119. /package/lib/clang/{14.0.0 → 16}/include/avx512cdintrin.h +0 -0
  120. /package/lib/clang/{14.0.0 → 16}/include/avx512dqintrin.h +0 -0
  121. /package/lib/clang/{14.0.0 → 16}/include/avx512erintrin.h +0 -0
  122. /package/lib/clang/{14.0.0 → 16}/include/avx512ifmaintrin.h +0 -0
  123. /package/lib/clang/{14.0.0 → 16}/include/avx512pfintrin.h +0 -0
  124. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmi2intrin.h +0 -0
  125. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmiintrin.h +0 -0
  126. /package/lib/clang/{14.0.0 → 16}/include/avx512vbmivlintrin.h +0 -0
  127. /package/lib/clang/{14.0.0 → 16}/include/avx512vlbitalgintrin.h +0 -0
  128. /package/lib/clang/{14.0.0 → 16}/include/avx512vlcdintrin.h +0 -0
  129. /package/lib/clang/{14.0.0 → 16}/include/avx512vldqintrin.h +0 -0
  130. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  131. /package/lib/clang/{14.0.0 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  132. /package/lib/clang/{14.0.0 → 16}/include/avx512vnniintrin.h +0 -0
  133. /package/lib/clang/{14.0.0 → 16}/include/avx512vp2intersectintrin.h +0 -0
  134. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  135. /package/lib/clang/{14.0.0 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  136. /package/lib/clang/{14.0.0 → 16}/include/bmi2intrin.h +0 -0
  137. /package/lib/clang/{14.0.0 → 16}/include/builtins.h +0 -0
  138. /package/lib/clang/{14.0.0 → 16}/include/cet.h +0 -0
  139. /package/lib/clang/{14.0.0 → 16}/include/cldemoteintrin.h +0 -0
  140. /package/lib/clang/{14.0.0 → 16}/include/clflushoptintrin.h +0 -0
  141. /package/lib/clang/{14.0.0 → 16}/include/clwbintrin.h +0 -0
  142. /package/lib/clang/{14.0.0 → 16}/include/clzerointrin.h +0 -0
  143. /package/lib/clang/{14.0.0 → 16}/include/crc32intrin.h +0 -0
  144. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/algorithm +0 -0
  145. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/complex +0 -0
  146. /package/lib/clang/{14.0.0 → 16}/include/cuda_wrappers/new +0 -0
  147. /package/lib/clang/{14.0.0 → 16}/include/enqcmdintrin.h +0 -0
  148. /package/lib/clang/{14.0.0 → 16}/include/fma4intrin.h +0 -0
  149. /package/lib/clang/{14.0.0 → 16}/include/fmaintrin.h +0 -0
  150. /package/lib/clang/{14.0.0 → 16}/include/fxsrintrin.h +0 -0
  151. /package/lib/clang/{14.0.0 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  152. /package/lib/clang/{14.0.0 → 16}/include/hexagon_protos.h +0 -0
  153. /package/lib/clang/{14.0.0 → 16}/include/hexagon_types.h +0 -0
  154. /package/lib/clang/{14.0.0 → 16}/include/htmintrin.h +0 -0
  155. /package/lib/clang/{14.0.0 → 16}/include/htmxlintrin.h +0 -0
  156. /package/lib/clang/{14.0.0 → 16}/include/hvx_hexagon_protos.h +0 -0
  157. /package/lib/clang/{14.0.0 → 16}/include/inttypes.h +0 -0
  158. /package/lib/clang/{14.0.0 → 16}/include/invpcidintrin.h +0 -0
  159. /package/lib/clang/{14.0.0 → 16}/include/iso646.h +0 -0
  160. /package/lib/clang/{14.0.0 → 16}/include/lwpintrin.h +0 -0
  161. /package/lib/clang/{14.0.0 → 16}/include/lzcntintrin.h +0 -0
  162. /package/lib/clang/{14.0.0 → 16}/include/mm3dnow.h +0 -0
  163. /package/lib/clang/{14.0.0 → 16}/include/mmintrin.h +0 -0
  164. /package/lib/clang/{14.0.0 → 16}/include/module.modulemap +0 -0
  165. /package/lib/clang/{14.0.0 → 16}/include/movdirintrin.h +0 -0
  166. /package/lib/clang/{14.0.0 → 16}/include/msa.h +0 -0
  167. /package/lib/clang/{14.0.0 → 16}/include/mwaitxintrin.h +0 -0
  168. /package/lib/clang/{14.0.0 → 16}/include/nmmintrin.h +0 -0
  169. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  170. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/cmath +0 -0
  171. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex +0 -0
  172. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex.h +0 -0
  173. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  174. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/math.h +0 -0
  175. /package/lib/clang/{14.0.0 → 16}/include/openmp_wrappers/new +0 -0
  176. /package/lib/clang/{14.0.0 → 16}/include/pconfigintrin.h +0 -0
  177. /package/lib/clang/{14.0.0 → 16}/include/pkuintrin.h +0 -0
  178. /package/lib/clang/{14.0.0 → 16}/include/popcntintrin.h +0 -0
  179. /package/lib/clang/{14.0.0 → 16}/include/prfchwintrin.h +0 -0
  180. /package/lib/clang/{14.0.0 → 16}/include/ptwriteintrin.h +0 -0
  181. /package/lib/clang/{14.0.0 → 16}/include/s390intrin.h +0 -0
  182. /package/lib/clang/{14.0.0 → 16}/include/serializeintrin.h +0 -0
  183. /package/lib/clang/{14.0.0 → 16}/include/sgxintrin.h +0 -0
  184. /package/lib/clang/{14.0.0 → 16}/include/shaintrin.h +0 -0
  185. /package/lib/clang/{14.0.0 → 16}/include/stdalign.h +0 -0
  186. /package/lib/clang/{14.0.0 → 16}/include/tbmintrin.h +0 -0
  187. /package/lib/clang/{14.0.0 → 16}/include/tgmath.h +0 -0
  188. /package/lib/clang/{14.0.0 → 16}/include/tmmintrin.h +0 -0
  189. /package/lib/clang/{14.0.0 → 16}/include/tsxldtrkintrin.h +0 -0
  190. /package/lib/clang/{14.0.0 → 16}/include/vadefs.h +0 -0
  191. /package/lib/clang/{14.0.0 → 16}/include/vaesintrin.h +0 -0
  192. /package/lib/clang/{14.0.0 → 16}/include/varargs.h +0 -0
  193. /package/lib/clang/{14.0.0 → 16}/include/vecintrin.h +0 -0
  194. /package/lib/clang/{14.0.0 → 16}/include/vpclmulqdqintrin.h +0 -0
  195. /package/lib/clang/{14.0.0 → 16}/include/waitpkgintrin.h +0 -0
  196. /package/lib/clang/{14.0.0 → 16}/include/wbnoinvdintrin.h +0 -0
  197. /package/lib/clang/{14.0.0 → 16}/include/wmmintrin.h +0 -0
  198. /package/lib/clang/{14.0.0 → 16}/include/xopintrin.h +0 -0
  199. /package/lib/clang/{14.0.0 → 16}/include/xsavecintrin.h +0 -0
  200. /package/lib/clang/{14.0.0 → 16}/include/xsaveintrin.h +0 -0
  201. /package/lib/clang/{14.0.0 → 16}/include/xsaveoptintrin.h +0 -0
  202. /package/lib/clang/{14.0.0 → 16}/include/xsavesintrin.h +0 -0
  203. /package/lib/clang/{14.0.0 → 16}/include/xtestintrin.h +0 -0
@@ -0,0 +1,471 @@
1
+ /*===-------- avxvnniint8intrin.h - AVXVNNIINT8 intrinsics -----------===
2
+ *
3
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
+ * See https://llvm.org/LICENSE.txt for license information.
5
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
+ *
7
+ *===-----------------------------------------------------------------------===
8
+ */
9
+ #ifndef __IMMINTRIN_H
10
+ #error \
11
+ "Never use <avxvnniint8intrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVXVNNIINT8INTRIN_H
15
+ #define __AVXVNNIINT8INTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS256 \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnniint8"), \
20
+ __min_vector_width__(256)))
21
+ #define __DEFAULT_FN_ATTRS128 \
22
+ __attribute__((__always_inline__, __nodebug__, __target__("avxvnniint8"), \
23
+ __min_vector_width__(128)))
24
+
25
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
26
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
27
+ /// signed 16-bit results. Sum these 4 results with the corresponding
28
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
29
+ ///
30
+ /// \headerfile <x86intrin.h>
31
+ ///
32
+ /// \code
33
+ /// _mm_dpbssd_epi32(__m128i __W, __m128i __A, __m128i __B);
34
+ /// \endcode
35
+ ///
36
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
37
+ ///
38
+ /// \param __A
39
+ /// A 128-bit vector of [16 x char].
40
+ /// \param __B
41
+ /// A 128-bit vector of [16 x char].
42
+ /// \returns
43
+ /// A 128-bit vector of [4 x int].
44
+ ///
45
+ /// \code{.operation}
46
+ /// FOR j := 0 to 3
47
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
48
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
49
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
50
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
51
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
52
+ /// ENDFOR
53
+ /// dst[MAX:128] := 0
54
+ /// \endcode
55
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbssd_epi32(__m128i __W,
56
+ __m128i __A,
57
+ __m128i __B) {
58
+ return (__m128i)__builtin_ia32_vpdpbssd128((__v4si)__W, (__v4si)__A,
59
+ (__v4si)__B);
60
+ }
61
+
62
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
63
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
64
+ /// signed 16-bit results. Sum these 4 results with the corresponding
65
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
66
+ ///
67
+ /// \headerfile <x86intrin.h>
68
+ ///
69
+ /// \code
70
+ /// _mm256_dpbssd_epi32(__m256i __W, __m256i __A, __m256i __B);
71
+ /// \endcode
72
+ ///
73
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
74
+ ///
75
+ /// \param __A
76
+ /// A 256-bit vector of [32 x char].
77
+ /// \param __B
78
+ /// A 256-bit vector of [32 x char].
79
+ /// \returns
80
+ /// A 256-bit vector of [8 x int].
81
+ ///
82
+ /// \code{.operation}
83
+ /// FOR j := 0 to 7
84
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
85
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
86
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
87
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
88
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
89
+ /// ENDFOR
90
+ /// dst[MAX:256] := 0
91
+ /// \endcode
92
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
93
+ _mm256_dpbssd_epi32(__m256i __W, __m256i __A, __m256i __B) {
94
+ return (__m256i)__builtin_ia32_vpdpbssd256((__v8si)__W, (__v8si)__A,
95
+ (__v8si)__B);
96
+ }
97
+
98
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
99
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
100
+ /// signed 16-bit results. Sum these 4 results with the corresponding
101
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
102
+ /// 32-bit results in \a dst.
103
+ ///
104
+ /// \headerfile <x86intrin.h>
105
+ ///
106
+ /// \code
107
+ /// _mm_dpbssds_epi32( __m128i __W, __m128i __A, __m128i __B);
108
+ /// \endcode
109
+ ///
110
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
111
+ ///
112
+ /// \param __A
113
+ /// A 128-bit vector of [16 x char].
114
+ /// \param __B
115
+ /// A 128-bit vector of [16 x char].
116
+ /// \returns
117
+ /// A 128-bit vector of [4 x int].
118
+ ///
119
+ /// \code{.operation}
120
+ /// FOR j := 0 to 3
121
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
122
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
123
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
124
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
125
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
126
+ /// ENDFOR
127
+ /// dst[MAX:128] := 0
128
+ /// \endcode
129
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbssds_epi32(__m128i __W,
130
+ __m128i __A,
131
+ __m128i __B) {
132
+ return (__m128i)__builtin_ia32_vpdpbssds128((__v4si)__W, (__v4si)__A,
133
+ (__v4si)__B);
134
+ }
135
+
136
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
137
+ /// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
138
+ /// signed 16-bit results. Sum these 4 results with the corresponding
139
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
140
+ /// 32-bit results in \a dst.
141
+ ///
142
+ /// \headerfile <x86intrin.h>
143
+ ///
144
+ /// \code
145
+ /// _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B);
146
+ /// \endcode
147
+ ///
148
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
149
+ ///
150
+ /// \param __A
151
+ /// A 256-bit vector of [32 x char].
152
+ /// \param __B
153
+ /// A 256-bit vector of [32 x char].
154
+ /// \returns
155
+ /// A 256-bit vector of [8 x int].
156
+ ///
157
+ /// \code{.operation}
158
+ /// FOR j := 0 to 7
159
+ /// tmp1.word := SignExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j])
160
+ /// tmp2.word := SignExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1])
161
+ /// tmp3.word := SignExtend16(__A.byte[4*j+2]) * SignExtend16(__B.byte[4*j+2])
162
+ /// tmp4.word := SignExtend16(__A.byte[4*j+3]) * SignExtend16(__B.byte[4*j+3])
163
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
164
+ /// ENDFOR
165
+ /// dst[MAX:256] := 0
166
+ /// \endcode
167
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
168
+ _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B) {
169
+ return (__m256i)__builtin_ia32_vpdpbssds256((__v8si)__W, (__v8si)__A,
170
+ (__v8si)__B);
171
+ }
172
+
173
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
174
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
175
+ /// signed 16-bit results. Sum these 4 results with the corresponding
176
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
177
+ ///
178
+ /// \headerfile <x86intrin.h>
179
+ ///
180
+ /// \code
181
+ /// _mm_dpbsud_epi32(__m128i __W, __m128i __A, __m128i __B);
182
+ /// \endcode
183
+ ///
184
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
185
+ ///
186
+ /// \param __A
187
+ /// A 128-bit vector of [16 x char].
188
+ /// \param __B
189
+ /// A 128-bit vector of [16 x unsigned char].
190
+ /// \returns
191
+ /// A 128-bit vector of [4 x int].
192
+ ///
193
+ /// \code{.operation}
194
+ /// FOR j := 0 to 3
195
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
196
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
197
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
198
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
199
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
200
+ /// ENDFOR
201
+ /// dst[MAX:128] := 0
202
+ /// \endcode
203
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbsud_epi32(__m128i __W,
204
+ __m128i __A,
205
+ __m128i __B) {
206
+ return (__m128i)__builtin_ia32_vpdpbsud128((__v4si)__W, (__v4si)__A,
207
+ (__v4si)__B);
208
+ }
209
+
210
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
211
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
212
+ /// signed 16-bit results. Sum these 4 results with the corresponding
213
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
214
+ ///
215
+ /// \headerfile <x86intrin.h>
216
+ ///
217
+ /// \code
218
+ /// _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B);
219
+ /// \endcode
220
+ ///
221
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
222
+ ///
223
+ /// \param __A
224
+ /// A 256-bit vector of [32 x char].
225
+ /// \param __B
226
+ /// A 256-bit vector of [32 x unsigned char].
227
+ /// \returns
228
+ /// A 256-bit vector of [8 x int].
229
+ ///
230
+ /// \code{.operation}
231
+ /// FOR j := 0 to 7
232
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
233
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
234
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
235
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
236
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
237
+ /// ENDFOR
238
+ /// dst[MAX:256] := 0
239
+ /// \endcode
240
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
241
+ _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B) {
242
+ return (__m256i)__builtin_ia32_vpdpbsud256((__v8si)__W, (__v8si)__A,
243
+ (__v8si)__B);
244
+ }
245
+
246
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
247
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
248
+ /// signed 16-bit results. Sum these 4 results with the corresponding
249
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
250
+ /// 32-bit results in \a dst.
251
+ ///
252
+ /// \headerfile <x86intrin.h>
253
+ ///
254
+ /// \code
255
+ /// _mm_dpbsuds_epi32( __m128i __W, __m128i __A, __m128i __B);
256
+ /// \endcode
257
+ ///
258
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
259
+ ///
260
+ /// \param __A
261
+ /// A 128-bit vector of [16 x char].
262
+ /// \param __B
263
+ /// A 128-bit vector of [16 x unsigned char].
264
+ /// \returns
265
+ /// A 128-bit vector of [4 x int].
266
+ ///
267
+ /// \code{.operation}
268
+ /// FOR j := 0 to 3
269
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
270
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
271
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
272
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
273
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
274
+ /// ENDFOR
275
+ /// dst[MAX:128] := 0
276
+ /// \endcode
277
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbsuds_epi32(__m128i __W,
278
+ __m128i __A,
279
+ __m128i __B) {
280
+ return (__m128i)__builtin_ia32_vpdpbsuds128((__v4si)__W, (__v4si)__A,
281
+ (__v4si)__B);
282
+ }
283
+
284
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
285
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
286
+ /// signed 16-bit results. Sum these 4 results with the corresponding
287
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
288
+ /// 32-bit results in \a dst.
289
+ ///
290
+ /// \headerfile <x86intrin.h>
291
+ ///
292
+ /// \code
293
+ /// _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B);
294
+ /// \endcode
295
+ ///
296
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
297
+ ///
298
+ /// \param __A
299
+ /// A 256-bit vector of [32 x char].
300
+ /// \param __B
301
+ /// A 256-bit vector of [32 x unsigned char].
302
+ /// \returns
303
+ /// A 256-bit vector of [8 x int].
304
+ ///
305
+ /// \code{.operation}
306
+ /// FOR j := 0 to 7
307
+ /// tmp1.word := Signed(SignExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j]))
308
+ /// tmp2.word := Signed(SignExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1]))
309
+ /// tmp3.word := Signed(SignExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2]))
310
+ /// tmp4.word := Signed(SignExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3]))
311
+ /// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
312
+ /// ENDFOR
313
+ /// dst[MAX:256] := 0
314
+ /// \endcode
315
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
316
+ _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B) {
317
+ return (__m256i)__builtin_ia32_vpdpbsuds256((__v8si)__W, (__v8si)__A,
318
+ (__v8si)__B);
319
+ }
320
+
321
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
322
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
323
+ /// signed 16-bit results. Sum these 4 results with the corresponding
324
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
325
+ ///
326
+ /// \headerfile <x86intrin.h>
327
+ ///
328
+ /// \code
329
+ /// _mm_dpbuud_epi32(__m128i __W, __m128i __A, __m128i __B);
330
+ /// \endcode
331
+ ///
332
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
333
+ ///
334
+ /// \param __A
335
+ /// A 128-bit vector of [16 x unsigned char].
336
+ /// \param __B
337
+ /// A 128-bit vector of [16 x unsigned char].
338
+ /// \returns
339
+ /// A 128-bit vector of [4 x int].
340
+ ///
341
+ /// \code{.operation}
342
+ /// FOR j := 0 to 3
343
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
344
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
345
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
346
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
347
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
348
+ /// ENDFOR
349
+ /// dst[MAX:128] := 0
350
+ /// \endcode
351
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbuud_epi32(__m128i __W,
352
+ __m128i __A,
353
+ __m128i __B) {
354
+ return (__m128i)__builtin_ia32_vpdpbuud128((__v4si)__W, (__v4si)__A,
355
+ (__v4si)__B);
356
+ }
357
+
358
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
359
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
360
+ /// signed 16-bit results. Sum these 4 results with the corresponding
361
+ /// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
362
+ ///
363
+ /// \headerfile <x86intrin.h>
364
+ ///
365
+ /// \code
366
+ /// _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B);
367
+ /// \endcode
368
+ ///
369
+ /// This intrinsic corresponds to the \c VPDPBSSD instruction.
370
+ ///
371
+ /// \param __A
372
+ /// A 256-bit vector of [32 x unsigned char].
373
+ /// \param __B
374
+ /// A 256-bit vector of [32 x unsigned char].
375
+ /// \returns
376
+ /// A 256-bit vector of [8 x int].
377
+ ///
378
+ /// \code{.operation}
379
+ /// FOR j := 0 to 7
380
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
381
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
382
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
383
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
384
+ /// dst.dword[j] := __W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
385
+ /// ENDFOR
386
+ /// dst[MAX:256] := 0
387
+ /// \endcode
388
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
389
+ _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B) {
390
+ return (__m256i)__builtin_ia32_vpdpbuud256((__v8si)__W, (__v8si)__A,
391
+ (__v8si)__B);
392
+ }
393
+
394
+ /// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
395
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
396
+ /// signed 16-bit results. Sum these 4 results with the corresponding
397
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
398
+ /// 32-bit results in \a dst.
399
+ ///
400
+ /// \headerfile <x86intrin.h>
401
+ ///
402
+ /// \code
403
+ /// _mm_dpbuuds_epi32( __m128i __W, __m128i __A, __m128i __B);
404
+ /// \endcode
405
+ ///
406
+ /// This intrinsic corresponds to the \c VPDPBUUDS instruction.
407
+ ///
408
+ /// \param __A
409
+ /// A 128-bit vector of [16 x unsigned char].
410
+ /// \param __B
411
+ /// A 128-bit vector of [16 x unsigned char].
412
+ /// \returns
413
+ /// A 128-bit vector of [4 x int].
414
+ ///
415
+ /// \code{.operation}
416
+ /// FOR j := 0 to 3
417
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
418
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
419
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
420
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
421
+ /// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
422
+ /// ENDFOR
423
+ /// dst[MAX:128] := 0
424
+ /// \endcode
425
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_dpbuuds_epi32(__m128i __W,
426
+ __m128i __A,
427
+ __m128i __B) {
428
+ return (__m128i)__builtin_ia32_vpdpbuuds128((__v4si)__W, (__v4si)__A,
429
+ (__v4si)__B);
430
+ }
431
+
432
+ /// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
433
+ /// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
434
+ /// signed 16-bit results. Sum these 4 results with the corresponding
435
+ /// 32-bit integer in \a __W with signed saturation, and store the packed
436
+ /// 32-bit results in \a dst.
437
+ ///
438
+ /// \headerfile <x86intrin.h>
439
+ ///
440
+ /// \code
441
+ /// _mm256_dpbuuds_epi32(__m256i __W, __m256i __A, __m256i __B);
442
+ /// \endcode
443
+ ///
444
+ /// This intrinsic corresponds to the \c VPDPBUUDS instruction.
445
+ ///
446
+ /// \param __A
447
+ /// A 256-bit vector of [32 x unsigned char].
448
+ /// \param __B
449
+ /// A 256-bit vector of [32 x unsigned char].
450
+ /// \returns
451
+ /// A 256-bit vector of [8 x int].
452
+ ///
453
+ /// \code{.operation}
454
+ /// FOR j := 0 to 7
455
+ /// tmp1.word := ZeroExtend16(__A.byte[4*j]) * ZeroExtend16(__B.byte[4*j])
456
+ /// tmp2.word := ZeroExtend16(__A.byte[4*j+1]) * ZeroExtend16(__B.byte[4*j+1])
457
+ /// tmp3.word := ZeroExtend16(__A.byte[4*j+2]) * ZeroExtend16(__B.byte[4*j+2])
458
+ /// tmp4.word := ZeroExtend16(__A.byte[4*j+3]) * ZeroExtend16(__B.byte[4*j+3])
459
+ /// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
460
+ /// ENDFOR
461
+ /// dst[MAX:256] := 0
462
+ /// \endcode
463
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
464
+ _mm256_dpbuuds_epi32(__m256i __W, __m256i __A, __m256i __B) {
465
+ return (__m256i)__builtin_ia32_vpdpbuuds256((__v8si)__W, (__v8si)__A,
466
+ (__v8si)__B);
467
+ }
468
+ #undef __DEFAULT_FN_ATTRS128
469
+ #undef __DEFAULT_FN_ATTRS256
470
+
471
+ #endif // __AVXVNNIINT8INTRIN_H
@@ -50,7 +50,7 @@
50
50
  ///
51
51
  /// This intrinsic corresponds to the <c> VPDPBUSD </c> instructions.
52
52
  ///
53
- /// \operation
53
+ /// \code{.operation}
54
54
  /// FOR j := 0 to 7
55
55
  /// tmp1.word := Signed(ZeroExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j]))
56
56
  /// tmp2.word := Signed(ZeroExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1]))
@@ -59,7 +59,7 @@
59
59
  /// DST.dword[j] := __S.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
60
60
  /// ENDFOR
61
61
  /// DST[MAX:256] := 0
62
- /// \endoperation
62
+ /// \endcode
63
63
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
64
64
  _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
65
65
  {
@@ -73,7 +73,7 @@ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
73
73
  ///
74
74
  /// This intrinsic corresponds to the <c> VPDPBUSDS </c> instructions.
75
75
  ///
76
- /// \operation
76
+ /// \code{.operation}
77
77
  /// FOR j := 0 to 7
78
78
  /// tmp1.word := Signed(ZeroExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j]))
79
79
  /// tmp2.word := Signed(ZeroExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1]))
@@ -82,7 +82,7 @@ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
82
82
  /// DST.dword[j] := Saturate32(__S.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
83
83
  /// ENDFOR
84
84
  /// DST[MAX:256] := 0
85
- /// \endoperation
85
+ /// \endcode
86
86
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
87
87
  _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
88
88
  {
@@ -96,14 +96,14 @@ _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
96
96
  ///
97
97
  /// This intrinsic corresponds to the <c> VPDPWSSD </c> instructions.
98
98
  ///
99
- /// \operation
99
+ /// \code{.operation}
100
100
  /// FOR j := 0 to 7
101
101
  /// tmp1.dword := SignExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
102
102
  /// tmp2.dword := SignExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
103
103
  /// DST.dword[j] := __S.dword[j] + tmp1 + tmp2
104
104
  /// ENDFOR
105
105
  /// DST[MAX:256] := 0
106
- /// \endoperation
106
+ /// \endcode
107
107
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
108
108
  _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
109
109
  {
@@ -117,14 +117,14 @@ _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
117
117
  ///
118
118
  /// This intrinsic corresponds to the <c> VPDPWSSDS </c> instructions.
119
119
  ///
120
- /// \operation
120
+ /// \code{.operation}
121
121
  /// FOR j := 0 to 7
122
122
  /// tmp1.dword := SignExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
123
123
  /// tmp2.dword := SignExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
124
124
  /// DST.dword[j] := Saturate32(__S.dword[j] + tmp1 + tmp2)
125
125
  /// ENDFOR
126
126
  /// DST[MAX:256] := 0
127
- /// \endoperation
127
+ /// \endcode
128
128
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
129
129
  _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
130
130
  {
@@ -138,7 +138,7 @@ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
138
138
  ///
139
139
  /// This intrinsic corresponds to the <c> VPDPBUSD </c> instructions.
140
140
  ///
141
- /// \operation
141
+ /// \code{.operation}
142
142
  /// FOR j := 0 to 3
143
143
  /// tmp1.word := Signed(ZeroExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j]))
144
144
  /// tmp2.word := Signed(ZeroExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1]))
@@ -147,7 +147,7 @@ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
147
147
  /// DST.dword[j] := __S.dword[j] + tmp1 + tmp2 + tmp3 + tmp4
148
148
  /// ENDFOR
149
149
  /// DST[MAX:128] := 0
150
- /// \endoperation
150
+ /// \endcode
151
151
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
152
152
  _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
153
153
  {
@@ -161,7 +161,7 @@ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
161
161
  ///
162
162
  /// This intrinsic corresponds to the <c> VPDPBUSDS </c> instructions.
163
163
  ///
164
- /// \operation
164
+ /// \code{.operation}
165
165
  /// FOR j := 0 to 3
166
166
  /// tmp1.word := Signed(ZeroExtend16(__A.byte[4*j]) * SignExtend16(__B.byte[4*j]))
167
167
  /// tmp2.word := Signed(ZeroExtend16(__A.byte[4*j+1]) * SignExtend16(__B.byte[4*j+1]))
@@ -170,7 +170,7 @@ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
170
170
  /// DST.dword[j] := Saturate32(__S.dword[j] + tmp1 + tmp2 + tmp3 + tmp4)
171
171
  /// ENDFOR
172
172
  /// DST[MAX:128] := 0
173
- /// \endoperation
173
+ /// \endcode
174
174
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
175
175
  _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
176
176
  {
@@ -184,14 +184,14 @@ _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
184
184
  ///
185
185
  /// This intrinsic corresponds to the <c> VPDPWSSD </c> instructions.
186
186
  ///
187
- /// \operation
187
+ /// \code{.operation}
188
188
  /// FOR j := 0 to 3
189
189
  /// tmp1.dword := SignExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
190
190
  /// tmp2.dword := SignExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
191
191
  /// DST.dword[j] := __S.dword[j] + tmp1 + tmp2
192
192
  /// ENDFOR
193
193
  /// DST[MAX:128] := 0
194
- /// \endoperation
194
+ /// \endcode
195
195
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
196
196
  _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
197
197
  {
@@ -205,14 +205,14 @@ _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
205
205
  ///
206
206
  /// This intrinsic corresponds to the <c> VPDPWSSDS </c> instructions.
207
207
  ///
208
- /// \operation
208
+ /// \code{.operation}
209
209
  /// FOR j := 0 to 3
210
210
  /// tmp1.dword := SignExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
211
211
  /// tmp2.dword := SignExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
212
212
  /// DST.dword[j] := Saturate32(__S.dword[j] + tmp1 + tmp2)
213
213
  /// ENDFOR
214
214
  /// DST[MAX:128] := 0
215
- /// \endoperation
215
+ /// \endcode
216
216
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
217
217
  _mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
218
218
  {
@@ -47,6 +47,7 @@ __tzcnt_u16(unsigned short __X)
47
47
  /// An unsigned 32-bit integer whose trailing zeros are to be counted.
48
48
  /// \returns An unsigned 32-bit integer containing the number of trailing zero
49
49
  /// bits in the operand.
50
+ /// \see _mm_tzcnt_32
50
51
  static __inline__ unsigned int __RELAXED_FN_ATTRS
51
52
  __tzcnt_u32(unsigned int __X)
52
53
  {
@@ -63,10 +64,11 @@ __tzcnt_u32(unsigned int __X)
63
64
  /// An unsigned 32-bit integer whose trailing zeros are to be counted.
64
65
  /// \returns An 32-bit integer containing the number of trailing zero bits in
65
66
  /// the operand.
67
+ /// \see __tzcnt_u32
66
68
  static __inline__ int __RELAXED_FN_ATTRS
67
69
  _mm_tzcnt_32(unsigned int __X)
68
70
  {
69
- return __builtin_ia32_tzcnt_u32(__X);
71
+ return (int)__builtin_ia32_tzcnt_u32(__X);
70
72
  }
71
73
 
72
74
  #define _tzcnt_u32(a) (__tzcnt_u32((a)))
@@ -83,6 +85,7 @@ _mm_tzcnt_32(unsigned int __X)
83
85
  /// An unsigned 64-bit integer whose trailing zeros are to be counted.
84
86
  /// \returns An unsigned 64-bit integer containing the number of trailing zero
85
87
  /// bits in the operand.
88
+ /// \see _mm_tzcnt_64
86
89
  static __inline__ unsigned long long __RELAXED_FN_ATTRS
87
90
  __tzcnt_u64(unsigned long long __X)
88
91
  {
@@ -99,10 +102,11 @@ __tzcnt_u64(unsigned long long __X)
99
102
  /// An unsigned 64-bit integer whose trailing zeros are to be counted.
100
103
  /// \returns An 64-bit integer containing the number of trailing zero bits in
101
104
  /// the operand.
105
+ /// \see __tzcnt_u64
102
106
  static __inline__ long long __RELAXED_FN_ATTRS
103
107
  _mm_tzcnt_64(unsigned long long __X)
104
108
  {
105
- return __builtin_ia32_tzcnt_u64(__X);
109
+ return (long long)__builtin_ia32_tzcnt_u64(__X);
106
110
  }
107
111
 
108
112
  #define _tzcnt_u64(a) (__tzcnt_u64((a)))