@cpp-linter/clang-tidy-win32-x64 15.0.2 → 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 (197) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy.exe +2 -2
  3. package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_texture_intrinsics.h +2 -0
  4. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_libdevice_declares.h +5 -0
  5. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_math.h +10 -13
  6. package/lib/clang/{15.0.2 → 16}/include/__clang_hip_runtime_wrapper.h +1 -0
  7. package/lib/clang/16/include/__clang_hip_stdlib.h +43 -0
  8. package/lib/clang/{15.0.2 → 16}/include/altivec.h +14 -14
  9. package/lib/clang/16/include/amxfp16intrin.h +58 -0
  10. package/lib/clang/{15.0.2 → 16}/include/amxintrin.h +32 -0
  11. package/lib/clang/{15.0.2 → 16}/include/arm_acle.h +76 -75
  12. package/lib/clang/{15.0.2 → 16}/include/arm_fp16.h +1 -1
  13. package/lib/clang/{15.0.2 → 16}/include/arm_neon.h +26428 -26598
  14. package/lib/clang/{15.0.2 → 16}/include/arm_neon_sve_bridge.h +0 -2
  15. package/lib/clang/{15.0.2 → 16}/include/arm_sve.h +7784 -7936
  16. package/lib/clang/{15.0.2 → 16}/include/avx512bf16intrin.h +18 -15
  17. package/lib/clang/{15.0.2 → 16}/include/avx512fintrin.h +2 -2
  18. package/lib/clang/{15.0.2 → 16}/include/avx512fp16intrin.h +6 -9
  19. package/lib/clang/{15.0.2 → 16}/include/avx512ifmavlintrin.h +13 -27
  20. package/lib/clang/{15.0.2 → 16}/include/avx512vlbf16intrin.h +31 -38
  21. package/lib/clang/{15.0.2 → 16}/include/avx512vlbwintrin.h +352 -0
  22. package/lib/clang/{15.0.2 → 16}/include/avx512vlfp16intrin.h +3 -0
  23. package/lib/clang/16/include/avxifmaintrin.h +177 -0
  24. package/lib/clang/{15.0.2 → 16}/include/avxintrin.h +12 -2
  25. package/lib/clang/16/include/avxneconvertintrin.h +484 -0
  26. package/lib/clang/16/include/avxvnniint8intrin.h +471 -0
  27. package/lib/clang/16/include/cmpccxaddintrin.h +70 -0
  28. package/lib/clang/{15.0.2 → 16}/include/cpuid.h +11 -1
  29. package/lib/clang/16/include/cuda_wrappers/cmath +90 -0
  30. package/lib/clang/{15.0.2 → 16}/include/emmintrin.h +11 -1
  31. package/lib/clang/{15.0.2 → 16}/include/float.h +17 -10
  32. package/lib/clang/{15.0.2 → 16}/include/gfniintrin.h +7 -5
  33. package/lib/clang/{15.0.2 → 16}/include/hlsl/hlsl_basic_types.h +3 -0
  34. package/lib/clang/16/include/hlsl/hlsl_intrinsics.h +223 -0
  35. package/lib/clang/{15.0.2 → 16}/include/immintrin.h +41 -9
  36. package/lib/clang/16/include/larchintrin.h +234 -0
  37. package/lib/clang/{15.0.2 → 16}/include/limits.h +3 -2
  38. package/lib/clang/{15.0.2 → 16}/include/opencl-c-base.h +19 -0
  39. package/lib/clang/{15.0.2 → 16}/include/opencl-c.h +175 -145
  40. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/emmintrin.h +2 -2
  41. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mm_malloc.h +1 -1
  42. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/mmintrin.h +2 -2
  43. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/pmmintrin.h +2 -2
  44. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/smmintrin.h +2 -2
  45. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/tmmintrin.h +2 -2
  46. package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/xmmintrin.h +2 -2
  47. package/lib/clang/16/include/prfchiintrin.h +61 -0
  48. package/lib/clang/16/include/raointintrin.h +203 -0
  49. package/lib/clang/{15.0.2 → 16}/include/riscv_vector.h +62 -53
  50. package/lib/clang/{15.0.2 → 16}/include/smmintrin.h +2 -2
  51. package/lib/clang/{15.0.2 → 16}/include/stdarg.h +23 -7
  52. package/lib/clang/{15.0.2 → 16}/include/stdatomic.h +6 -3
  53. package/lib/clang/{15.0.2 → 16}/include/stdbool.h +2 -2
  54. package/lib/clang/{15.0.2 → 16}/include/stddef.h +8 -1
  55. package/lib/clang/{15.0.2 → 16}/include/stdint.h +158 -40
  56. package/lib/clang/{15.0.2 → 16}/include/stdnoreturn.h +1 -1
  57. package/lib/clang/{15.0.2 → 16}/include/unwind.h +2 -1
  58. package/lib/clang/{15.0.2 → 16}/include/velintrin.h +1 -1
  59. package/lib/clang/{15.0.2 → 16}/include/x86gprintrin.h +19 -7
  60. package/lib/clang/{15.0.2 → 16}/include/xmmintrin.h +1 -2
  61. package/package.json +6 -6
  62. package/lib/clang/15.0.2/include/hlsl/hlsl_intrinsics.h +0 -15
  63. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_builtin_vars.h +0 -0
  64. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_cmath.h +0 -0
  65. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_complex_builtins.h +0 -0
  66. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_device_functions.h +0 -0
  67. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_intrinsics.h +0 -0
  68. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_libdevice_declares.h +0 -0
  69. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math.h +0 -0
  70. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_math_forward_declares.h +0 -0
  71. /package/lib/clang/{15.0.2 → 16}/include/__clang_cuda_runtime_wrapper.h +0 -0
  72. /package/lib/clang/{15.0.2 → 16}/include/__clang_hip_cmath.h +0 -0
  73. /package/lib/clang/{15.0.2 → 16}/include/__stddef_max_align_t.h +0 -0
  74. /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_aes.h +0 -0
  75. /package/lib/clang/{15.0.2 → 16}/include/__wmmintrin_pclmul.h +0 -0
  76. /package/lib/clang/{15.0.2 → 16}/include/adxintrin.h +0 -0
  77. /package/lib/clang/{15.0.2 → 16}/include/ammintrin.h +0 -0
  78. /package/lib/clang/{15.0.2 → 16}/include/arm64intr.h +0 -0
  79. /package/lib/clang/{15.0.2 → 16}/include/arm_bf16.h +0 -0
  80. /package/lib/clang/{15.0.2 → 16}/include/arm_cde.h +0 -0
  81. /package/lib/clang/{15.0.2 → 16}/include/arm_cmse.h +0 -0
  82. /package/lib/clang/{15.0.2 → 16}/include/arm_mve.h +0 -0
  83. /package/lib/clang/{15.0.2 → 16}/include/armintr.h +0 -0
  84. /package/lib/clang/{15.0.2 → 16}/include/avx2intrin.h +0 -0
  85. /package/lib/clang/{15.0.2 → 16}/include/avx512bitalgintrin.h +0 -0
  86. /package/lib/clang/{15.0.2 → 16}/include/avx512bwintrin.h +0 -0
  87. /package/lib/clang/{15.0.2 → 16}/include/avx512cdintrin.h +0 -0
  88. /package/lib/clang/{15.0.2 → 16}/include/avx512dqintrin.h +0 -0
  89. /package/lib/clang/{15.0.2 → 16}/include/avx512erintrin.h +0 -0
  90. /package/lib/clang/{15.0.2 → 16}/include/avx512ifmaintrin.h +0 -0
  91. /package/lib/clang/{15.0.2 → 16}/include/avx512pfintrin.h +0 -0
  92. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmi2intrin.h +0 -0
  93. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmiintrin.h +0 -0
  94. /package/lib/clang/{15.0.2 → 16}/include/avx512vbmivlintrin.h +0 -0
  95. /package/lib/clang/{15.0.2 → 16}/include/avx512vlbitalgintrin.h +0 -0
  96. /package/lib/clang/{15.0.2 → 16}/include/avx512vlcdintrin.h +0 -0
  97. /package/lib/clang/{15.0.2 → 16}/include/avx512vldqintrin.h +0 -0
  98. /package/lib/clang/{15.0.2 → 16}/include/avx512vlintrin.h +0 -0
  99. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvbmi2intrin.h +0 -0
  100. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvnniintrin.h +0 -0
  101. /package/lib/clang/{15.0.2 → 16}/include/avx512vlvp2intersectintrin.h +0 -0
  102. /package/lib/clang/{15.0.2 → 16}/include/avx512vnniintrin.h +0 -0
  103. /package/lib/clang/{15.0.2 → 16}/include/avx512vp2intersectintrin.h +0 -0
  104. /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqintrin.h +0 -0
  105. /package/lib/clang/{15.0.2 → 16}/include/avx512vpopcntdqvlintrin.h +0 -0
  106. /package/lib/clang/{15.0.2 → 16}/include/avxvnniintrin.h +0 -0
  107. /package/lib/clang/{15.0.2 → 16}/include/bmi2intrin.h +0 -0
  108. /package/lib/clang/{15.0.2 → 16}/include/bmiintrin.h +0 -0
  109. /package/lib/clang/{15.0.2 → 16}/include/builtins.h +0 -0
  110. /package/lib/clang/{15.0.2 → 16}/include/cet.h +0 -0
  111. /package/lib/clang/{15.0.2 → 16}/include/cetintrin.h +0 -0
  112. /package/lib/clang/{15.0.2 → 16}/include/cldemoteintrin.h +0 -0
  113. /package/lib/clang/{15.0.2 → 16}/include/clflushoptintrin.h +0 -0
  114. /package/lib/clang/{15.0.2 → 16}/include/clwbintrin.h +0 -0
  115. /package/lib/clang/{15.0.2 → 16}/include/clzerointrin.h +0 -0
  116. /package/lib/clang/{15.0.2 → 16}/include/crc32intrin.h +0 -0
  117. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/algorithm +0 -0
  118. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/complex +0 -0
  119. /package/lib/clang/{15.0.2 → 16}/include/cuda_wrappers/new +0 -0
  120. /package/lib/clang/{15.0.2 → 16}/include/enqcmdintrin.h +0 -0
  121. /package/lib/clang/{15.0.2 → 16}/include/f16cintrin.h +0 -0
  122. /package/lib/clang/{15.0.2 → 16}/include/fma4intrin.h +0 -0
  123. /package/lib/clang/{15.0.2 → 16}/include/fmaintrin.h +0 -0
  124. /package/lib/clang/{15.0.2 → 16}/include/fxsrintrin.h +0 -0
  125. /package/lib/clang/{15.0.2 → 16}/include/hexagon_circ_brev_intrinsics.h +0 -0
  126. /package/lib/clang/{15.0.2 → 16}/include/hexagon_protos.h +0 -0
  127. /package/lib/clang/{15.0.2 → 16}/include/hexagon_types.h +0 -0
  128. /package/lib/clang/{15.0.2 → 16}/include/hlsl.h +0 -0
  129. /package/lib/clang/{15.0.2 → 16}/include/hresetintrin.h +0 -0
  130. /package/lib/clang/{15.0.2 → 16}/include/htmintrin.h +0 -0
  131. /package/lib/clang/{15.0.2 → 16}/include/htmxlintrin.h +0 -0
  132. /package/lib/clang/{15.0.2 → 16}/include/hvx_hexagon_protos.h +0 -0
  133. /package/lib/clang/{15.0.2 → 16}/include/ia32intrin.h +0 -0
  134. /package/lib/clang/{15.0.2 → 16}/include/intrin.h +0 -0
  135. /package/lib/clang/{15.0.2 → 16}/include/inttypes.h +0 -0
  136. /package/lib/clang/{15.0.2 → 16}/include/invpcidintrin.h +0 -0
  137. /package/lib/clang/{15.0.2 → 16}/include/iso646.h +0 -0
  138. /package/lib/clang/{15.0.2 → 16}/include/keylockerintrin.h +0 -0
  139. /package/lib/clang/{15.0.2 → 16}/include/lwpintrin.h +0 -0
  140. /package/lib/clang/{15.0.2 → 16}/include/lzcntintrin.h +0 -0
  141. /package/lib/clang/{15.0.2 → 16}/include/mm3dnow.h +0 -0
  142. /package/lib/clang/{15.0.2 → 16}/include/mm_malloc.h +0 -0
  143. /package/lib/clang/{15.0.2 → 16}/include/mmintrin.h +0 -0
  144. /package/lib/clang/{15.0.2 → 16}/include/module.modulemap +0 -0
  145. /package/lib/clang/{15.0.2 → 16}/include/movdirintrin.h +0 -0
  146. /package/lib/clang/{15.0.2 → 16}/include/msa.h +0 -0
  147. /package/lib/clang/{15.0.2 → 16}/include/mwaitxintrin.h +0 -0
  148. /package/lib/clang/{15.0.2 → 16}/include/nmmintrin.h +0 -0
  149. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  150. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/cmath +0 -0
  151. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex +0 -0
  152. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex.h +0 -0
  153. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/complex_cmath.h +0 -0
  154. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/math.h +0 -0
  155. /package/lib/clang/{15.0.2 → 16}/include/openmp_wrappers/new +0 -0
  156. /package/lib/clang/{15.0.2 → 16}/include/pconfigintrin.h +0 -0
  157. /package/lib/clang/{15.0.2 → 16}/include/pkuintrin.h +0 -0
  158. /package/lib/clang/{15.0.2 → 16}/include/pmmintrin.h +0 -0
  159. /package/lib/clang/{15.0.2 → 16}/include/popcntintrin.h +0 -0
  160. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmi2intrin.h +0 -0
  161. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/bmiintrin.h +0 -0
  162. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/immintrin.h +0 -0
  163. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86gprintrin.h +0 -0
  164. /package/lib/clang/{15.0.2 → 16}/include/ppc_wrappers/x86intrin.h +0 -0
  165. /package/lib/clang/{15.0.2 → 16}/include/prfchwintrin.h +0 -0
  166. /package/lib/clang/{15.0.2 → 16}/include/ptwriteintrin.h +0 -0
  167. /package/lib/clang/{15.0.2 → 16}/include/rdpruintrin.h +0 -0
  168. /package/lib/clang/{15.0.2 → 16}/include/rdseedintrin.h +0 -0
  169. /package/lib/clang/{15.0.2 → 16}/include/rtmintrin.h +0 -0
  170. /package/lib/clang/{15.0.2 → 16}/include/s390intrin.h +0 -0
  171. /package/lib/clang/{15.0.2 → 16}/include/serializeintrin.h +0 -0
  172. /package/lib/clang/{15.0.2 → 16}/include/sgxintrin.h +0 -0
  173. /package/lib/clang/{15.0.2 → 16}/include/shaintrin.h +0 -0
  174. /package/lib/clang/{15.0.2 → 16}/include/stdalign.h +0 -0
  175. /package/lib/clang/{15.0.2 → 16}/include/tbmintrin.h +0 -0
  176. /package/lib/clang/{15.0.2 → 16}/include/tgmath.h +0 -0
  177. /package/lib/clang/{15.0.2 → 16}/include/tmmintrin.h +0 -0
  178. /package/lib/clang/{15.0.2 → 16}/include/tsxldtrkintrin.h +0 -0
  179. /package/lib/clang/{15.0.2 → 16}/include/uintrintrin.h +0 -0
  180. /package/lib/clang/{15.0.2 → 16}/include/vadefs.h +0 -0
  181. /package/lib/clang/{15.0.2 → 16}/include/vaesintrin.h +0 -0
  182. /package/lib/clang/{15.0.2 → 16}/include/varargs.h +0 -0
  183. /package/lib/clang/{15.0.2 → 16}/include/vecintrin.h +0 -0
  184. /package/lib/clang/{15.0.2 → 16}/include/velintrin_approx.h +0 -0
  185. /package/lib/clang/{15.0.2 → 16}/include/velintrin_gen.h +0 -0
  186. /package/lib/clang/{15.0.2 → 16}/include/vpclmulqdqintrin.h +0 -0
  187. /package/lib/clang/{15.0.2 → 16}/include/waitpkgintrin.h +0 -0
  188. /package/lib/clang/{15.0.2 → 16}/include/wasm_simd128.h +0 -0
  189. /package/lib/clang/{15.0.2 → 16}/include/wbnoinvdintrin.h +0 -0
  190. /package/lib/clang/{15.0.2 → 16}/include/wmmintrin.h +0 -0
  191. /package/lib/clang/{15.0.2 → 16}/include/x86intrin.h +0 -0
  192. /package/lib/clang/{15.0.2 → 16}/include/xopintrin.h +0 -0
  193. /package/lib/clang/{15.0.2 → 16}/include/xsavecintrin.h +0 -0
  194. /package/lib/clang/{15.0.2 → 16}/include/xsaveintrin.h +0 -0
  195. /package/lib/clang/{15.0.2 → 16}/include/xsaveoptintrin.h +0 -0
  196. /package/lib/clang/{15.0.2 → 16}/include/xsavesintrin.h +0 -0
  197. /package/lib/clang/{15.0.2 → 16}/include/xtestintrin.h +0 -0
@@ -2803,6 +2803,358 @@ _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
2803
2803
  (__v16hi)_mm256_dbsad_epu8((A), (B), (imm)), \
2804
2804
  (__v16hi)_mm256_setzero_si256()))
2805
2805
 
2806
+ static __inline__ short __DEFAULT_FN_ATTRS128
2807
+ _mm_reduce_add_epi16(__m128i __W) {
2808
+ return __builtin_reduce_add((__v8hi)__W);
2809
+ }
2810
+
2811
+ static __inline__ short __DEFAULT_FN_ATTRS128
2812
+ _mm_reduce_mul_epi16(__m128i __W) {
2813
+ return __builtin_reduce_mul((__v8hi)__W);
2814
+ }
2815
+
2816
+ static __inline__ short __DEFAULT_FN_ATTRS128
2817
+ _mm_reduce_and_epi16(__m128i __W) {
2818
+ return __builtin_reduce_and((__v8hi)__W);
2819
+ }
2820
+
2821
+ static __inline__ short __DEFAULT_FN_ATTRS128
2822
+ _mm_reduce_or_epi16(__m128i __W) {
2823
+ return __builtin_reduce_or((__v8hi)__W);
2824
+ }
2825
+
2826
+ static __inline__ short __DEFAULT_FN_ATTRS128
2827
+ _mm_mask_reduce_add_epi16( __mmask8 __M, __m128i __W) {
2828
+ __W = _mm_maskz_mov_epi16(__M, __W);
2829
+ return __builtin_reduce_add((__v8hi)__W);
2830
+ }
2831
+
2832
+ static __inline__ short __DEFAULT_FN_ATTRS128
2833
+ _mm_mask_reduce_mul_epi16( __mmask8 __M, __m128i __W) {
2834
+ __W = _mm_mask_mov_epi16(_mm_set1_epi16(1), __M, __W);
2835
+ return __builtin_reduce_mul((__v8hi)__W);
2836
+ }
2837
+
2838
+ static __inline__ short __DEFAULT_FN_ATTRS128
2839
+ _mm_mask_reduce_and_epi16( __mmask8 __M, __m128i __W) {
2840
+ __W = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __W);
2841
+ return __builtin_reduce_and((__v8hi)__W);
2842
+ }
2843
+
2844
+ static __inline__ short __DEFAULT_FN_ATTRS128
2845
+ _mm_mask_reduce_or_epi16(__mmask8 __M, __m128i __W) {
2846
+ __W = _mm_maskz_mov_epi16(__M, __W);
2847
+ return __builtin_reduce_or((__v8hi)__W);
2848
+ }
2849
+
2850
+ static __inline__ short __DEFAULT_FN_ATTRS128
2851
+ _mm_reduce_max_epi16(__m128i __V) {
2852
+ return __builtin_reduce_max((__v8hi)__V);
2853
+ }
2854
+
2855
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2856
+ _mm_reduce_max_epu16(__m128i __V) {
2857
+ return __builtin_reduce_max((__v8hu)__V);
2858
+ }
2859
+
2860
+ static __inline__ short __DEFAULT_FN_ATTRS128
2861
+ _mm_reduce_min_epi16(__m128i __V) {
2862
+ return __builtin_reduce_min((__v8hi)__V);
2863
+ }
2864
+
2865
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2866
+ _mm_reduce_min_epu16(__m128i __V) {
2867
+ return __builtin_reduce_min((__v8hu)__V);
2868
+ }
2869
+
2870
+ static __inline__ short __DEFAULT_FN_ATTRS128
2871
+ _mm_mask_reduce_max_epi16(__mmask16 __M, __m128i __V) {
2872
+ __V = _mm_mask_mov_epi16(_mm_set1_epi16(-32767-1), __M, __V);
2873
+ return __builtin_reduce_max((__v8hi)__V);
2874
+ }
2875
+
2876
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2877
+ _mm_mask_reduce_max_epu16(__mmask16 __M, __m128i __V) {
2878
+ __V = _mm_maskz_mov_epi16(__M, __V);
2879
+ return __builtin_reduce_max((__v8hu)__V);
2880
+ }
2881
+
2882
+ static __inline__ short __DEFAULT_FN_ATTRS128
2883
+ _mm_mask_reduce_min_epi16(__mmask16 __M, __m128i __V) {
2884
+ __V = _mm_mask_mov_epi16(_mm_set1_epi16(32767), __M, __V);
2885
+ return __builtin_reduce_min((__v8hi)__V);
2886
+ }
2887
+
2888
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2889
+ _mm_mask_reduce_min_epu16(__mmask16 __M, __m128i __V) {
2890
+ __V = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __V);
2891
+ return __builtin_reduce_min((__v8hu)__V);
2892
+ }
2893
+
2894
+ static __inline__ short __DEFAULT_FN_ATTRS256
2895
+ _mm256_reduce_add_epi16(__m256i __W) {
2896
+ return __builtin_reduce_add((__v16hi)__W);
2897
+ }
2898
+
2899
+ static __inline__ short __DEFAULT_FN_ATTRS256
2900
+ _mm256_reduce_mul_epi16(__m256i __W) {
2901
+ return __builtin_reduce_mul((__v16hi)__W);
2902
+ }
2903
+
2904
+ static __inline__ short __DEFAULT_FN_ATTRS256
2905
+ _mm256_reduce_and_epi16(__m256i __W) {
2906
+ return __builtin_reduce_and((__v16hi)__W);
2907
+ }
2908
+
2909
+ static __inline__ short __DEFAULT_FN_ATTRS256
2910
+ _mm256_reduce_or_epi16(__m256i __W) {
2911
+ return __builtin_reduce_or((__v16hi)__W);
2912
+ }
2913
+
2914
+ static __inline__ short __DEFAULT_FN_ATTRS256
2915
+ _mm256_mask_reduce_add_epi16( __mmask16 __M, __m256i __W) {
2916
+ __W = _mm256_maskz_mov_epi16(__M, __W);
2917
+ return __builtin_reduce_add((__v16hi)__W);
2918
+ }
2919
+
2920
+ static __inline__ short __DEFAULT_FN_ATTRS256
2921
+ _mm256_mask_reduce_mul_epi16( __mmask16 __M, __m256i __W) {
2922
+ __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(1), __M, __W);
2923
+ return __builtin_reduce_mul((__v16hi)__W);
2924
+ }
2925
+
2926
+ static __inline__ short __DEFAULT_FN_ATTRS256
2927
+ _mm256_mask_reduce_and_epi16( __mmask16 __M, __m256i __W) {
2928
+ __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __W);
2929
+ return __builtin_reduce_and((__v16hi)__W);
2930
+ }
2931
+
2932
+ static __inline__ short __DEFAULT_FN_ATTRS256
2933
+ _mm256_mask_reduce_or_epi16(__mmask16 __M, __m256i __W) {
2934
+ __W = _mm256_maskz_mov_epi16(__M, __W);
2935
+ return __builtin_reduce_or((__v16hi)__W);
2936
+ }
2937
+
2938
+ static __inline__ short __DEFAULT_FN_ATTRS256
2939
+ _mm256_reduce_max_epi16(__m256i __V) {
2940
+ return __builtin_reduce_max((__v16hi)__V);
2941
+ }
2942
+
2943
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2944
+ _mm256_reduce_max_epu16(__m256i __V) {
2945
+ return __builtin_reduce_max((__v16hu)__V);
2946
+ }
2947
+
2948
+ static __inline__ short __DEFAULT_FN_ATTRS256
2949
+ _mm256_reduce_min_epi16(__m256i __V) {
2950
+ return __builtin_reduce_min((__v16hi)__V);
2951
+ }
2952
+
2953
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2954
+ _mm256_reduce_min_epu16(__m256i __V) {
2955
+ return __builtin_reduce_min((__v16hu)__V);
2956
+ }
2957
+
2958
+ static __inline__ short __DEFAULT_FN_ATTRS256
2959
+ _mm256_mask_reduce_max_epi16(__mmask16 __M, __m256i __V) {
2960
+ __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-32767-1), __M, __V);
2961
+ return __builtin_reduce_max((__v16hi)__V);
2962
+ }
2963
+
2964
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2965
+ _mm256_mask_reduce_max_epu16(__mmask16 __M, __m256i __V) {
2966
+ __V = _mm256_maskz_mov_epi16(__M, __V);
2967
+ return __builtin_reduce_max((__v16hu)__V);
2968
+ }
2969
+
2970
+ static __inline__ short __DEFAULT_FN_ATTRS256
2971
+ _mm256_mask_reduce_min_epi16(__mmask16 __M, __m256i __V) {
2972
+ __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(32767), __M, __V);
2973
+ return __builtin_reduce_min((__v16hi)__V);
2974
+ }
2975
+
2976
+ static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2977
+ _mm256_mask_reduce_min_epu16(__mmask16 __M, __m256i __V) {
2978
+ __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __V);
2979
+ return __builtin_reduce_min((__v16hu)__V);
2980
+ }
2981
+
2982
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
2983
+ _mm_reduce_add_epi8(__m128i __W) {
2984
+ return __builtin_reduce_add((__v16qs)__W);
2985
+ }
2986
+
2987
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
2988
+ _mm_reduce_mul_epi8(__m128i __W) {
2989
+ return __builtin_reduce_mul((__v16qs)__W);
2990
+ }
2991
+
2992
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
2993
+ _mm_reduce_and_epi8(__m128i __W) {
2994
+ return __builtin_reduce_and((__v16qs)__W);
2995
+ }
2996
+
2997
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
2998
+ _mm_reduce_or_epi8(__m128i __W) {
2999
+ return __builtin_reduce_or((__v16qs)__W);
3000
+ }
3001
+
3002
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3003
+ _mm_mask_reduce_add_epi8(__mmask16 __M, __m128i __W) {
3004
+ __W = _mm_maskz_mov_epi8(__M, __W);
3005
+ return __builtin_reduce_add((__v16qs)__W);
3006
+ }
3007
+
3008
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3009
+ _mm_mask_reduce_mul_epi8(__mmask16 __M, __m128i __W) {
3010
+ __W = _mm_mask_mov_epi8(_mm_set1_epi8(1), __M, __W);
3011
+ return __builtin_reduce_mul((__v16qs)__W);
3012
+ }
3013
+
3014
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3015
+ _mm_mask_reduce_and_epi8(__mmask16 __M, __m128i __W) {
3016
+ __W = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __W);
3017
+ return __builtin_reduce_and((__v16qs)__W);
3018
+ }
3019
+
3020
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3021
+ _mm_mask_reduce_or_epi8(__mmask16 __M, __m128i __W) {
3022
+ __W = _mm_maskz_mov_epi8(__M, __W);
3023
+ return __builtin_reduce_or((__v16qs)__W);
3024
+ }
3025
+
3026
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3027
+ _mm_reduce_max_epi8(__m128i __V) {
3028
+ return __builtin_reduce_max((__v16qs)__V);
3029
+ }
3030
+
3031
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS128
3032
+ _mm_reduce_max_epu8(__m128i __V) {
3033
+ return __builtin_reduce_max((__v16qu)__V);
3034
+ }
3035
+
3036
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3037
+ _mm_reduce_min_epi8(__m128i __V) {
3038
+ return __builtin_reduce_min((__v16qs)__V);
3039
+ }
3040
+
3041
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS128
3042
+ _mm_reduce_min_epu8(__m128i __V) {
3043
+ return __builtin_reduce_min((__v16qu)__V);
3044
+ }
3045
+
3046
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3047
+ _mm_mask_reduce_max_epi8(__mmask16 __M, __m128i __V) {
3048
+ __V = _mm_mask_mov_epi8(_mm_set1_epi8(-127-1), __M, __V);
3049
+ return __builtin_reduce_max((__v16qs)__V);
3050
+ }
3051
+
3052
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS128
3053
+ _mm_mask_reduce_max_epu8(__mmask16 __M, __m128i __V) {
3054
+ __V = _mm_maskz_mov_epi8(__M, __V);
3055
+ return __builtin_reduce_max((__v16qu)__V);
3056
+ }
3057
+
3058
+ static __inline__ signed char __DEFAULT_FN_ATTRS128
3059
+ _mm_mask_reduce_min_epi8(__mmask16 __M, __m128i __V) {
3060
+ __V = _mm_mask_mov_epi8(_mm_set1_epi8(127), __M, __V);
3061
+ return __builtin_reduce_min((__v16qs)__V);
3062
+ }
3063
+
3064
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS128
3065
+ _mm_mask_reduce_min_epu8(__mmask16 __M, __m128i __V) {
3066
+ __V = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __V);
3067
+ return __builtin_reduce_min((__v16qu)__V);
3068
+ }
3069
+
3070
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3071
+ _mm256_reduce_add_epi8(__m256i __W) {
3072
+ return __builtin_reduce_add((__v32qs)__W);
3073
+ }
3074
+
3075
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3076
+ _mm256_reduce_mul_epi8(__m256i __W) {
3077
+ return __builtin_reduce_mul((__v32qs)__W);
3078
+ }
3079
+
3080
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3081
+ _mm256_reduce_and_epi8(__m256i __W) {
3082
+ return __builtin_reduce_and((__v32qs)__W);
3083
+ }
3084
+
3085
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3086
+ _mm256_reduce_or_epi8(__m256i __W) {
3087
+ return __builtin_reduce_or((__v32qs)__W);
3088
+ }
3089
+
3090
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3091
+ _mm256_mask_reduce_add_epi8(__mmask32 __M, __m256i __W) {
3092
+ __W = _mm256_maskz_mov_epi8(__M, __W);
3093
+ return __builtin_reduce_add((__v32qs)__W);
3094
+ }
3095
+
3096
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3097
+ _mm256_mask_reduce_mul_epi8(__mmask32 __M, __m256i __W) {
3098
+ __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(1), __M, __W);
3099
+ return __builtin_reduce_mul((__v32qs)__W);
3100
+ }
3101
+
3102
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3103
+ _mm256_mask_reduce_and_epi8(__mmask32 __M, __m256i __W) {
3104
+ __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __W);
3105
+ return __builtin_reduce_and((__v32qs)__W);
3106
+ }
3107
+
3108
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3109
+ _mm256_mask_reduce_or_epi8(__mmask32 __M, __m256i __W) {
3110
+ __W = _mm256_maskz_mov_epi8(__M, __W);
3111
+ return __builtin_reduce_or((__v32qs)__W);
3112
+ }
3113
+
3114
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3115
+ _mm256_reduce_max_epi8(__m256i __V) {
3116
+ return __builtin_reduce_max((__v32qs)__V);
3117
+ }
3118
+
3119
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3120
+ _mm256_reduce_max_epu8(__m256i __V) {
3121
+ return __builtin_reduce_max((__v32qu)__V);
3122
+ }
3123
+
3124
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3125
+ _mm256_reduce_min_epi8(__m256i __V) {
3126
+ return __builtin_reduce_min((__v32qs)__V);
3127
+ }
3128
+
3129
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3130
+ _mm256_reduce_min_epu8(__m256i __V) {
3131
+ return __builtin_reduce_min((__v32qu)__V);
3132
+ }
3133
+
3134
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3135
+ _mm256_mask_reduce_max_epi8(__mmask32 __M, __m256i __V) {
3136
+ __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-127-1), __M, __V);
3137
+ return __builtin_reduce_max((__v32qs)__V);
3138
+ }
3139
+
3140
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3141
+ _mm256_mask_reduce_max_epu8(__mmask32 __M, __m256i __V) {
3142
+ __V = _mm256_maskz_mov_epi8(__M, __V);
3143
+ return __builtin_reduce_max((__v32qu)__V);
3144
+ }
3145
+
3146
+ static __inline__ signed char __DEFAULT_FN_ATTRS256
3147
+ _mm256_mask_reduce_min_epi8(__mmask32 __M, __m256i __V) {
3148
+ __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(127), __M, __V);
3149
+ return __builtin_reduce_min((__v32qs)__V);
3150
+ }
3151
+
3152
+ static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3153
+ _mm256_mask_reduce_min_epu8(__mmask32 __M, __m256i __V) {
3154
+ __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __V);
3155
+ return __builtin_reduce_min((__v32qu)__V);
3156
+ }
3157
+
2806
3158
  #undef __DEFAULT_FN_ATTRS128
2807
3159
  #undef __DEFAULT_FN_ATTRS256
2808
3160
 
@@ -11,6 +11,8 @@
11
11
  "Never use <avx512vlfp16intrin.h> directly; include <immintrin.h> instead."
12
12
  #endif
13
13
 
14
+ #ifdef __SSE2__
15
+
14
16
  #ifndef __AVX512VLFP16INTRIN_H
15
17
  #define __AVX512VLFP16INTRIN_H
16
18
 
@@ -2066,3 +2068,4 @@ _mm_reduce_min_ph(__m128h __V) {
2066
2068
  #undef __DEFAULT_FN_ATTRS256
2067
2069
 
2068
2070
  #endif
2071
+ #endif
@@ -0,0 +1,177 @@
1
+ /*===----------------- avxifmaintrin.h - IFMA 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
+
10
+ #ifndef __IMMINTRIN_H
11
+ #error "Never use <avxifmaintrin.h> directly; include <immintrin.h> instead."
12
+ #endif
13
+
14
+ #ifndef __AVXIFMAINTRIN_H
15
+ #define __AVXIFMAINTRIN_H
16
+
17
+ /* Define the default attributes for the functions in this file. */
18
+ #define __DEFAULT_FN_ATTRS128 \
19
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
20
+ __min_vector_width__(128)))
21
+ #define __DEFAULT_FN_ATTRS256 \
22
+ __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
23
+ __min_vector_width__(256)))
24
+
25
+ // must vex-encoding
26
+
27
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
28
+ /// and \a __Z to form a 104-bit intermediate result. Add the high 52-bit
29
+ /// unsigned integer from the intermediate result with the corresponding
30
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
31
+ ///
32
+ /// \headerfile <immintrin.h>
33
+ ///
34
+ /// \code
35
+ /// __m128i
36
+ /// _mm_madd52hi_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
37
+ /// \endcode
38
+ ///
39
+ /// This intrinsic corresponds to the \c VPMADD52HUQ instruction.
40
+ ///
41
+ /// \return
42
+ /// return __m128i dst.
43
+ /// \param __X
44
+ /// A 128-bit vector of [2 x i64]
45
+ /// \param __Y
46
+ /// A 128-bit vector of [2 x i64]
47
+ /// \param __Z
48
+ /// A 128-bit vector of [2 x i64]
49
+ ///
50
+ /// \code{.operation}
51
+ /// FOR j := 0 to 1
52
+ /// i := j*64
53
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
54
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
55
+ /// ENDFOR
56
+ /// dst[MAX:128] := 0
57
+ /// \endcode
58
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
59
+ _mm_madd52hi_avx_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
60
+ return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di)__X, (__v2di)__Y,
61
+ (__v2di)__Z);
62
+ }
63
+
64
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
65
+ /// and \a __Z to form a 104-bit intermediate result. Add the high 52-bit
66
+ /// unsigned integer from the intermediate result with the corresponding
67
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
68
+ ///
69
+ /// \headerfile <immintrin.h>
70
+ ///
71
+ /// \code
72
+ /// __m256i
73
+ /// _mm256_madd52hi_avx_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
74
+ /// \endcode
75
+ ///
76
+ /// This intrinsic corresponds to the \c VPMADD52HUQ instruction.
77
+ ///
78
+ /// \return
79
+ /// return __m256i dst.
80
+ /// \param __X
81
+ /// A 256-bit vector of [4 x i64]
82
+ /// \param __Y
83
+ /// A 256-bit vector of [4 x i64]
84
+ /// \param __Z
85
+ /// A 256-bit vector of [4 x i64]
86
+ ///
87
+ /// \code{.operation}
88
+ /// FOR j := 0 to 3
89
+ /// i := j*64
90
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
91
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[103:52])
92
+ /// ENDFOR
93
+ /// dst[MAX:256] := 0
94
+ /// \endcode
95
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
96
+ _mm256_madd52hi_avx_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
97
+ return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
98
+ (__v4di)__Z);
99
+ }
100
+
101
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
102
+ /// and \a __Z to form a 104-bit intermediate result. Add the low 52-bit
103
+ /// unsigned integer from the intermediate result with the corresponding
104
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
105
+ ///
106
+ /// \headerfile <immintrin.h>
107
+ ///
108
+ /// \code
109
+ /// __m128i
110
+ /// _mm_madd52lo_avx_epu64 (__m128i __X, __m128i __Y, __m128i __Z)
111
+ /// \endcode
112
+ ///
113
+ /// This intrinsic corresponds to the \c VPMADD52LUQ instruction.
114
+ ///
115
+ /// \return
116
+ /// return __m128i dst.
117
+ /// \param __X
118
+ /// A 128-bit vector of [2 x i64]
119
+ /// \param __Y
120
+ /// A 128-bit vector of [2 x i64]
121
+ /// \param __Z
122
+ /// A 128-bit vector of [2 x i64]
123
+ ///
124
+ /// \code{.operation}
125
+ /// FOR j := 0 to 1
126
+ /// i := j*64
127
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
128
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
129
+ /// ENDFOR
130
+ /// dst[MAX:128] := 0
131
+ /// \endcode
132
+ static __inline__ __m128i __DEFAULT_FN_ATTRS128
133
+ _mm_madd52lo_avx_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
134
+ return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
135
+ (__v2di)__Z);
136
+ }
137
+
138
+ /// Multiply packed unsigned 52-bit integers in each 64-bit element of \a __Y
139
+ /// and \a __Z to form a 104-bit intermediate result. Add the low 52-bit
140
+ /// unsigned integer from the intermediate result with the corresponding
141
+ /// unsigned 64-bit integer in \a __X, and store the results in \a dst.
142
+ ///
143
+ /// \headerfile <immintrin.h>
144
+ ///
145
+ /// \code
146
+ /// __m256i
147
+ /// _mm256_madd52lo_avx_epu64 (__m256i __X, __m256i __Y, __m256i __Z)
148
+ /// \endcode
149
+ ///
150
+ /// This intrinsic corresponds to the \c VPMADD52LUQ instruction.
151
+ ///
152
+ /// \return
153
+ /// return __m256i dst.
154
+ /// \param __X
155
+ /// A 256-bit vector of [4 x i64]
156
+ /// \param __Y
157
+ /// A 256-bit vector of [4 x i64]
158
+ /// \param __Z
159
+ /// A 256-bit vector of [4 x i64]
160
+ ///
161
+ /// \code{.operation}
162
+ /// FOR j := 0 to 3
163
+ /// i := j*64
164
+ /// tmp[127:0] := ZeroExtend64(__Y[i+51:i]) * ZeroExtend64(__Z[i+51:i])
165
+ /// dst[i+63:i] := __X[i+63:i] + ZeroExtend64(tmp[51:0])
166
+ /// ENDFOR
167
+ /// dst[MAX:256] := 0
168
+ /// \endcode
169
+ static __inline__ __m256i __DEFAULT_FN_ATTRS256
170
+ _mm256_madd52lo_avx_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
171
+ return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
172
+ (__v4di)__Z);
173
+ }
174
+ #undef __DEFAULT_FN_ATTRS128
175
+ #undef __DEFAULT_FN_ATTRS256
176
+
177
+ #endif // __AVXIFMAINTRIN_H
@@ -39,6 +39,16 @@ typedef float __m256_u __attribute__ ((__vector_size__ (32), __aligned__(1)));
39
39
  typedef double __m256d_u __attribute__((__vector_size__(32), __aligned__(1)));
40
40
  typedef long long __m256i_u __attribute__((__vector_size__(32), __aligned__(1)));
41
41
 
42
+ #ifdef __SSE2__
43
+ /* Both _Float16 and __bf16 require SSE2 being enabled. */
44
+ typedef _Float16 __v16hf __attribute__((__vector_size__(32), __aligned__(32)));
45
+ typedef _Float16 __m256h __attribute__((__vector_size__(32), __aligned__(32)));
46
+ typedef _Float16 __m256h_u __attribute__((__vector_size__(32), __aligned__(1)));
47
+
48
+ typedef __bf16 __v16bf __attribute__((__vector_size__(32), __aligned__(32)));
49
+ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
50
+ #endif
51
+
42
52
  /* Define the default attributes for the functions in this file. */
43
53
  #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx"), __min_vector_width__(256)))
44
54
  #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx"), __min_vector_width__(128)))
@@ -4288,7 +4298,7 @@ _mm256_set1_epi64x(long long __q)
4288
4298
  static __inline __m256d __DEFAULT_FN_ATTRS
4289
4299
  _mm256_setzero_pd(void)
4290
4300
  {
4291
- return __extension__ (__m256d){ 0, 0, 0, 0 };
4301
+ return __extension__ (__m256d){ 0.0, 0.0, 0.0, 0.0 };
4292
4302
  }
4293
4303
 
4294
4304
  /// Constructs a 256-bit floating-point vector of [8 x float] with all
@@ -4302,7 +4312,7 @@ _mm256_setzero_pd(void)
4302
4312
  static __inline __m256 __DEFAULT_FN_ATTRS
4303
4313
  _mm256_setzero_ps(void)
4304
4314
  {
4305
- return __extension__ (__m256){ 0, 0, 0, 0, 0, 0, 0, 0 };
4315
+ return __extension__ (__m256){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
4306
4316
  }
4307
4317
 
4308
4318
  /// Constructs a 256-bit integer vector initialized to zero.