@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
@@ -10,6 +10,8 @@
10
10
  #error "Never use <avx512fp16intrin.h> directly; include <immintrin.h> instead."
11
11
  #endif
12
12
 
13
+ #ifdef __SSE2__
14
+
13
15
  #ifndef __AVX512FP16INTRIN_H
14
16
  #define __AVX512FP16INTRIN_H
15
17
 
@@ -17,12 +19,6 @@
17
19
  typedef _Float16 __v32hf __attribute__((__vector_size__(64), __aligned__(64)));
18
20
  typedef _Float16 __m512h __attribute__((__vector_size__(64), __aligned__(64)));
19
21
  typedef _Float16 __m512h_u __attribute__((__vector_size__(64), __aligned__(1)));
20
- typedef _Float16 __v8hf __attribute__((__vector_size__(16), __aligned__(16)));
21
- typedef _Float16 __m128h __attribute__((__vector_size__(16), __aligned__(16)));
22
- typedef _Float16 __m128h_u __attribute__((__vector_size__(16), __aligned__(1)));
23
- typedef _Float16 __v16hf __attribute__((__vector_size__(32), __aligned__(32)));
24
- typedef _Float16 __m256h __attribute__((__vector_size__(32), __aligned__(32)));
25
- typedef _Float16 __m256h_u __attribute__((__vector_size__(32), __aligned__(1)));
26
22
 
27
23
  /* Define the default attributes for the functions in this file. */
28
24
  #define __DEFAULT_FN_ATTRS512 \
@@ -829,7 +825,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_load_sh(void const *__dp) {
829
825
  struct __mm_load_sh_struct {
830
826
  _Float16 __u;
831
827
  } __attribute__((__packed__, __may_alias__));
832
- _Float16 __u = ((struct __mm_load_sh_struct *)__dp)->__u;
828
+ _Float16 __u = ((const struct __mm_load_sh_struct *)__dp)->__u;
833
829
  return (__m128h){__u, 0, 0, 0, 0, 0, 0, 0};
834
830
  }
835
831
 
@@ -838,13 +834,13 @@ _mm_mask_load_sh(__m128h __W, __mmask8 __U, const void *__A) {
838
834
  __m128h src = (__v8hf)__builtin_shufflevector(
839
835
  (__v8hf)__W, (__v8hf)_mm_setzero_ph(), 0, 8, 8, 8, 8, 8, 8, 8);
840
836
 
841
- return (__m128h)__builtin_ia32_loadsh128_mask((__v8hf *)__A, src, __U & 1);
837
+ return (__m128h)__builtin_ia32_loadsh128_mask((const __v8hf *)__A, src, __U & 1);
842
838
  }
843
839
 
844
840
  static __inline__ __m128h __DEFAULT_FN_ATTRS128
845
841
  _mm_maskz_load_sh(__mmask8 __U, const void *__A) {
846
842
  return (__m128h)__builtin_ia32_loadsh128_mask(
847
- (__v8hf *)__A, (__v8hf)_mm_setzero_ph(), __U & 1);
843
+ (const __v8hf *)__A, (__v8hf)_mm_setzero_ph(), __U & 1);
848
844
  }
849
845
 
850
846
  static __inline__ __m512h __DEFAULT_FN_ATTRS512
@@ -3347,3 +3343,4 @@ _mm512_permutexvar_ph(__m512i __A, __m512h __B) {
3347
3343
  #undef __DEFAULT_FN_ATTRS512
3348
3344
 
3349
3345
  #endif
3346
+ #endif
@@ -18,14 +18,21 @@
18
18
  #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma,avx512vl"), __min_vector_width__(128)))
19
19
  #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma,avx512vl"), __min_vector_width__(256)))
20
20
 
21
+ #define _mm_madd52hi_epu64(X, Y, Z) \
22
+ ((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
23
+ (__v2di)(Z)))
21
24
 
25
+ #define _mm256_madd52hi_epu64(X, Y, Z) \
26
+ ((__m256i)__builtin_ia32_vpmadd52huq256((__v4di)(X), (__v4di)(Y), \
27
+ (__v4di)(Z)))
22
28
 
23
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
24
- _mm_madd52hi_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
25
- {
26
- return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di) __X, (__v2di) __Y,
27
- (__v2di) __Z);
28
- }
29
+ #define _mm_madd52lo_epu64(X, Y, Z) \
30
+ ((__m128i)__builtin_ia32_vpmadd52luq128((__v2di)(X), (__v2di)(Y), \
31
+ (__v2di)(Z)))
32
+
33
+ #define _mm256_madd52lo_epu64(X, Y, Z) \
34
+ ((__m256i)__builtin_ia32_vpmadd52luq256((__v4di)(X), (__v4di)(Y), \
35
+ (__v4di)(Z)))
29
36
 
30
37
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
31
38
  _mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
@@ -43,13 +50,6 @@ _mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
43
50
  (__v2di)_mm_setzero_si128());
44
51
  }
45
52
 
46
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
47
- _mm256_madd52hi_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
48
- {
49
- return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
50
- (__v4di)__Z);
51
- }
52
-
53
53
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
54
54
  _mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
55
55
  {
@@ -66,13 +66,6 @@ _mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z
66
66
  (__v4di)_mm256_setzero_si256());
67
67
  }
68
68
 
69
- static __inline__ __m128i __DEFAULT_FN_ATTRS128
70
- _mm_madd52lo_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
71
- {
72
- return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
73
- (__v2di)__Z);
74
- }
75
-
76
69
  static __inline__ __m128i __DEFAULT_FN_ATTRS128
77
70
  _mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
78
71
  {
@@ -89,13 +82,6 @@ _mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
89
82
  (__v2di)_mm_setzero_si128());
90
83
  }
91
84
 
92
- static __inline__ __m256i __DEFAULT_FN_ATTRS256
93
- _mm256_madd52lo_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
94
- {
95
- return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
96
- (__v4di)__Z);
97
- }
98
-
99
85
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
100
86
  _mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
101
87
  {
@@ -10,11 +10,11 @@
10
10
  #error "Never use <avx512vlbf16intrin.h> directly; include <immintrin.h> instead."
11
11
  #endif
12
12
 
13
+ #ifdef __SSE2__
14
+
13
15
  #ifndef __AVX512VLBF16INTRIN_H
14
16
  #define __AVX512VLBF16INTRIN_H
15
17
 
16
- typedef short __m128bh __attribute__((__vector_size__(16), __aligned__(16)));
17
-
18
18
  #define __DEFAULT_FN_ATTRS128 \
19
19
  __attribute__((__always_inline__, __nodebug__, \
20
20
  __target__("avx512vl, avx512bf16"), __min_vector_width__(128)))
@@ -59,9 +59,9 @@ _mm_cvtne2ps_pbh(__m128 __A, __m128 __B) {
59
59
  /// conversion of __B, and higher 64 bits come from conversion of __A.
60
60
  static __inline__ __m128bh __DEFAULT_FN_ATTRS128
61
61
  _mm_mask_cvtne2ps_pbh(__m128bh __W, __mmask8 __U, __m128 __A, __m128 __B) {
62
- return (__m128bh)__builtin_ia32_selectw_128((__mmask8)__U,
63
- (__v8hi)_mm_cvtne2ps_pbh(__A, __B),
64
- (__v8hi)__W);
62
+ return (__m128bh)__builtin_ia32_selectpbf_128((__mmask8)__U,
63
+ (__v8bf)_mm_cvtne2ps_pbh(__A, __B),
64
+ (__v8bf)__W);
65
65
  }
66
66
 
67
67
  /// Convert Two Packed Single Data to One Packed BF16 Data.
@@ -81,9 +81,9 @@ _mm_mask_cvtne2ps_pbh(__m128bh __W, __mmask8 __U, __m128 __A, __m128 __B) {
81
81
  /// conversion of __B, and higher 64 bits come from conversion of __A.
82
82
  static __inline__ __m128bh __DEFAULT_FN_ATTRS128
83
83
  _mm_maskz_cvtne2ps_pbh(__mmask8 __U, __m128 __A, __m128 __B) {
84
- return (__m128bh)__builtin_ia32_selectw_128((__mmask8)__U,
85
- (__v8hi)_mm_cvtne2ps_pbh(__A, __B),
86
- (__v8hi)_mm_setzero_si128());
84
+ return (__m128bh)__builtin_ia32_selectpbf_128((__mmask8)__U,
85
+ (__v8bf)_mm_cvtne2ps_pbh(__A, __B),
86
+ (__v8bf)_mm_setzero_si128());
87
87
  }
88
88
 
89
89
  /// Convert Two Packed Single Data to One Packed BF16 Data.
@@ -123,9 +123,9 @@ _mm256_cvtne2ps_pbh(__m256 __A, __m256 __B) {
123
123
  /// conversion of __B, and higher 128 bits come from conversion of __A.
124
124
  static __inline__ __m256bh __DEFAULT_FN_ATTRS256
125
125
  _mm256_mask_cvtne2ps_pbh(__m256bh __W, __mmask16 __U, __m256 __A, __m256 __B) {
126
- return (__m256bh)__builtin_ia32_selectw_256((__mmask16)__U,
127
- (__v16hi)_mm256_cvtne2ps_pbh(__A, __B),
128
- (__v16hi)__W);
126
+ return (__m256bh)__builtin_ia32_selectpbf_256((__mmask16)__U,
127
+ (__v16bf)_mm256_cvtne2ps_pbh(__A, __B),
128
+ (__v16bf)__W);
129
129
  }
130
130
 
131
131
  /// Convert Two Packed Single Data to One Packed BF16 Data.
@@ -145,9 +145,9 @@ _mm256_mask_cvtne2ps_pbh(__m256bh __W, __mmask16 __U, __m256 __A, __m256 __B) {
145
145
  /// conversion of __B, and higher 128 bits come from conversion of __A.
146
146
  static __inline__ __m256bh __DEFAULT_FN_ATTRS256
147
147
  _mm256_maskz_cvtne2ps_pbh(__mmask16 __U, __m256 __A, __m256 __B) {
148
- return (__m256bh)__builtin_ia32_selectw_256((__mmask16)__U,
149
- (__v16hi)_mm256_cvtne2ps_pbh(__A, __B),
150
- (__v16hi)_mm256_setzero_si256());
148
+ return (__m256bh)__builtin_ia32_selectpbf_256((__mmask16)__U,
149
+ (__v16bf)_mm256_cvtne2ps_pbh(__A, __B),
150
+ (__v16bf)_mm256_setzero_si256());
151
151
  }
152
152
 
153
153
  /// Convert Packed Single Data to Packed BF16 Data.
@@ -160,12 +160,8 @@ _mm256_maskz_cvtne2ps_pbh(__mmask16 __U, __m256 __A, __m256 __B) {
160
160
  /// A 128-bit vector of [4 x float].
161
161
  /// \returns A 128-bit vector of [8 x bfloat] whose lower 64 bits come from
162
162
  /// conversion of __A, and higher 64 bits are 0.
163
- static __inline__ __m128bh __DEFAULT_FN_ATTRS128
164
- _mm_cvtneps_pbh(__m128 __A) {
165
- return (__m128bh)__builtin_ia32_cvtneps2bf16_128_mask((__v4sf) __A,
166
- (__v8hi)_mm_undefined_si128(),
167
- (__mmask8)-1);
168
- }
163
+ #define _mm_cvtneps_pbh(A) \
164
+ ((__m128bh)__builtin_ia32_vcvtneps2bf16128((__v4sf)(A)))
169
165
 
170
166
  /// Convert Packed Single Data to Packed BF16 Data.
171
167
  ///
@@ -185,7 +181,7 @@ _mm_cvtneps_pbh(__m128 __A) {
185
181
  static __inline__ __m128bh __DEFAULT_FN_ATTRS128
186
182
  _mm_mask_cvtneps_pbh(__m128bh __W, __mmask8 __U, __m128 __A) {
187
183
  return (__m128bh)__builtin_ia32_cvtneps2bf16_128_mask((__v4sf) __A,
188
- (__v8hi)__W,
184
+ (__v8bf)__W,
189
185
  (__mmask8)__U);
190
186
  }
191
187
 
@@ -205,7 +201,7 @@ _mm_mask_cvtneps_pbh(__m128bh __W, __mmask8 __U, __m128 __A) {
205
201
  static __inline__ __m128bh __DEFAULT_FN_ATTRS128
206
202
  _mm_maskz_cvtneps_pbh(__mmask8 __U, __m128 __A) {
207
203
  return (__m128bh)__builtin_ia32_cvtneps2bf16_128_mask((__v4sf) __A,
208
- (__v8hi)_mm_setzero_si128(),
204
+ (__v8bf)_mm_setzero_si128(),
209
205
  (__mmask8)__U);
210
206
  }
211
207
 
@@ -218,12 +214,8 @@ _mm_maskz_cvtneps_pbh(__mmask8 __U, __m128 __A) {
218
214
  /// \param __A
219
215
  /// A 256-bit vector of [8 x float].
220
216
  /// \returns A 128-bit vector of [8 x bfloat] comes from conversion of __A.
221
- static __inline__ __m128bh __DEFAULT_FN_ATTRS256
222
- _mm256_cvtneps_pbh(__m256 __A) {
223
- return (__m128bh)__builtin_ia32_cvtneps2bf16_256_mask((__v8sf)__A,
224
- (__v8hi)_mm_undefined_si128(),
225
- (__mmask8)-1);
226
- }
217
+ #define _mm256_cvtneps_pbh(A) \
218
+ ((__m128bh)__builtin_ia32_vcvtneps2bf16256((__v8sf)(A)))
227
219
 
228
220
  /// Convert Packed Single Data to Packed BF16 Data.
229
221
  ///
@@ -242,7 +234,7 @@ _mm256_cvtneps_pbh(__m256 __A) {
242
234
  static __inline__ __m128bh __DEFAULT_FN_ATTRS256
243
235
  _mm256_mask_cvtneps_pbh(__m128bh __W, __mmask8 __U, __m256 __A) {
244
236
  return (__m128bh)__builtin_ia32_cvtneps2bf16_256_mask((__v8sf)__A,
245
- (__v8hi)__W,
237
+ (__v8bf)__W,
246
238
  (__mmask8)__U);
247
239
  }
248
240
 
@@ -261,7 +253,7 @@ _mm256_mask_cvtneps_pbh(__m128bh __W, __mmask8 __U, __m256 __A) {
261
253
  static __inline__ __m128bh __DEFAULT_FN_ATTRS256
262
254
  _mm256_maskz_cvtneps_pbh(__mmask8 __U, __m256 __A) {
263
255
  return (__m128bh)__builtin_ia32_cvtneps2bf16_256_mask((__v8sf)__A,
264
- (__v8hi)_mm_setzero_si128(),
256
+ (__v8bf)_mm_setzero_si128(),
265
257
  (__mmask8)__U);
266
258
  }
267
259
 
@@ -282,8 +274,8 @@ _mm256_maskz_cvtneps_pbh(__mmask8 __U, __m256 __A) {
282
274
  static __inline__ __m128 __DEFAULT_FN_ATTRS128
283
275
  _mm_dpbf16_ps(__m128 __D, __m128bh __A, __m128bh __B) {
284
276
  return (__m128)__builtin_ia32_dpbf16ps_128((__v4sf)__D,
285
- (__v4si)__A,
286
- (__v4si)__B);
277
+ (__v8bf)__A,
278
+ (__v8bf)__B);
287
279
  }
288
280
 
289
281
  /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
@@ -351,8 +343,8 @@ _mm_maskz_dpbf16_ps(__mmask8 __U, __m128 __D, __m128bh __A, __m128bh __B) {
351
343
  static __inline__ __m256 __DEFAULT_FN_ATTRS256
352
344
  _mm256_dpbf16_ps(__m256 __D, __m256bh __A, __m256bh __B) {
353
345
  return (__m256)__builtin_ia32_dpbf16ps_256((__v8sf)__D,
354
- (__v8si)__A,
355
- (__v8si)__B);
346
+ (__v16bf)__A,
347
+ (__v16bf)__B);
356
348
  }
357
349
 
358
350
  /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
@@ -413,11 +405,11 @@ _mm256_maskz_dpbf16_ps(__mmask8 __U, __m256 __D, __m256bh __A, __m256bh __B) {
413
405
  /// A float data.
414
406
  /// \returns A bf16 data whose sign field and exponent field keep unchanged,
415
407
  /// and fraction field is truncated to 7 bits.
416
- static __inline__ __bfloat16 __DEFAULT_FN_ATTRS128 _mm_cvtness_sbh(float __A) {
408
+ static __inline__ __bf16 __DEFAULT_FN_ATTRS128 _mm_cvtness_sbh(float __A) {
417
409
  __v4sf __V = {__A, 0, 0, 0};
418
- __v8hi __R = __builtin_ia32_cvtneps2bf16_128_mask(
419
- (__v4sf)__V, (__v8hi)_mm_undefined_si128(), (__mmask8)-1);
420
- return __R[0];
410
+ __v8bf __R = __builtin_ia32_cvtneps2bf16_128_mask(
411
+ (__v4sf)__V, (__v8bf)_mm_undefined_si128(), (__mmask8)-1);
412
+ return (__bf16)__R[0];
421
413
  }
422
414
 
423
415
  /// Convert Packed BF16 Data to Packed float Data.
@@ -520,3 +512,4 @@ _mm256_mask_cvtpbh_ps(__m256 __S, __mmask8 __U, __m128bh __A) {
520
512
  #undef __DEFAULT_FN_ATTRS256
521
513
 
522
514
  #endif
515
+ #endif