@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
@@ -92,25 +92,25 @@ _mm256_add_epi64(__m256i __a, __m256i __b)
92
92
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
93
93
  _mm256_adds_epi8(__m256i __a, __m256i __b)
94
94
  {
95
- return (__m256i)__builtin_ia32_paddsb256((__v32qi)__a, (__v32qi)__b);
95
+ return (__m256i)__builtin_elementwise_add_sat((__v32qs)__a, (__v32qs)__b);
96
96
  }
97
97
 
98
98
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
99
99
  _mm256_adds_epi16(__m256i __a, __m256i __b)
100
100
  {
101
- return (__m256i)__builtin_ia32_paddsw256((__v16hi)__a, (__v16hi)__b);
101
+ return (__m256i)__builtin_elementwise_add_sat((__v16hi)__a, (__v16hi)__b);
102
102
  }
103
103
 
104
104
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
105
105
  _mm256_adds_epu8(__m256i __a, __m256i __b)
106
106
  {
107
- return (__m256i)__builtin_ia32_paddusb256((__v32qi)__a, (__v32qi)__b);
107
+ return (__m256i)__builtin_elementwise_add_sat((__v32qu)__a, (__v32qu)__b);
108
108
  }
109
109
 
110
110
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
111
111
  _mm256_adds_epu16(__m256i __a, __m256i __b)
112
112
  {
113
- return (__m256i)__builtin_ia32_paddusw256((__v16hi)__a, (__v16hi)__b);
113
+ return (__m256i)__builtin_elementwise_add_sat((__v16hu)__a, (__v16hu)__b);
114
114
  }
115
115
 
116
116
  #define _mm256_alignr_epi8(a, b, n) \
@@ -628,25 +628,25 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
628
628
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
629
629
  _mm256_subs_epi8(__m256i __a, __m256i __b)
630
630
  {
631
- return (__m256i)__builtin_ia32_psubsb256((__v32qi)__a, (__v32qi)__b);
631
+ return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
632
632
  }
633
633
 
634
634
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
635
635
  _mm256_subs_epi16(__m256i __a, __m256i __b)
636
636
  {
637
- return (__m256i)__builtin_ia32_psubsw256((__v16hi)__a, (__v16hi)__b);
637
+ return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
638
638
  }
639
639
 
640
640
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
641
641
  _mm256_subs_epu8(__m256i __a, __m256i __b)
642
642
  {
643
- return (__m256i)__builtin_ia32_psubusb256((__v32qi)__a, (__v32qi)__b);
643
+ return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
644
644
  }
645
645
 
646
646
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
647
647
  _mm256_subs_epu16(__m256i __a, __m256i __b)
648
648
  {
649
- return (__m256i)__builtin_ia32_psubusw256((__v16hi)__a, (__v16hi)__b);
649
+ return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
650
650
  }
651
651
 
652
652
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
@@ -10,12 +10,14 @@
10
10
  #error "Never use <avx512bf16intrin.h> directly; include <immintrin.h> instead."
11
11
  #endif
12
12
 
13
+ #ifdef __SSE2__
14
+
13
15
  #ifndef __AVX512BF16INTRIN_H
14
16
  #define __AVX512BF16INTRIN_H
15
17
 
16
- typedef short __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
17
- typedef short __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
18
- typedef unsigned short __bfloat16;
18
+ typedef __bf16 __v32bf __attribute__((__vector_size__(64), __aligned__(64)));
19
+ typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
20
+ typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
19
21
 
20
22
  #define __DEFAULT_FN_ATTRS512 \
21
23
  __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
@@ -33,7 +35,7 @@ typedef unsigned short __bfloat16;
33
35
  /// A bfloat data.
34
36
  /// \returns A float data whose sign field and exponent field keep unchanged,
35
37
  /// and fraction field is extended to 23 bits.
36
- static __inline__ float __DEFAULT_FN_ATTRS _mm_cvtsbh_ss(__bfloat16 __A) {
38
+ static __inline__ float __DEFAULT_FN_ATTRS _mm_cvtsbh_ss(__bf16 __A) {
37
39
  return __builtin_ia32_cvtsbf162ss_32(__A);
38
40
  }
39
41
 
@@ -74,9 +76,9 @@ _mm512_cvtne2ps_pbh(__m512 __A, __m512 __B) {
74
76
  /// conversion of __B, and higher 256 bits come from conversion of __A.
75
77
  static __inline__ __m512bh __DEFAULT_FN_ATTRS512
76
78
  _mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
77
- return (__m512bh)__builtin_ia32_selectw_512((__mmask32)__U,
78
- (__v32hi)_mm512_cvtne2ps_pbh(__A, __B),
79
- (__v32hi)__W);
79
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
80
+ (__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
81
+ (__v32bf)__W);
80
82
  }
81
83
 
82
84
  /// Convert Two Packed Single Data to One Packed BF16 Data.
@@ -96,9 +98,9 @@ _mm512_mask_cvtne2ps_pbh(__m512bh __W, __mmask32 __U, __m512 __A, __m512 __B) {
96
98
  /// conversion of __B, and higher 256 bits come from conversion of __A.
97
99
  static __inline__ __m512bh __DEFAULT_FN_ATTRS512
98
100
  _mm512_maskz_cvtne2ps_pbh(__mmask32 __U, __m512 __A, __m512 __B) {
99
- return (__m512bh)__builtin_ia32_selectw_512((__mmask32)__U,
100
- (__v32hi)_mm512_cvtne2ps_pbh(__A, __B),
101
- (__v32hi)_mm512_setzero_si512());
101
+ return (__m512bh)__builtin_ia32_selectpbf_512((__mmask32)__U,
102
+ (__v32bf)_mm512_cvtne2ps_pbh(__A, __B),
103
+ (__v32bf)_mm512_setzero_si512());
102
104
  }
103
105
 
104
106
  /// Convert Packed Single Data to Packed BF16 Data.
@@ -113,7 +115,7 @@ _mm512_maskz_cvtne2ps_pbh(__mmask32 __U, __m512 __A, __m512 __B) {
113
115
  static __inline__ __m256bh __DEFAULT_FN_ATTRS512
114
116
  _mm512_cvtneps_pbh(__m512 __A) {
115
117
  return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
116
- (__v16hi)_mm256_undefined_si256(),
118
+ (__v16bf)_mm256_undefined_si256(),
117
119
  (__mmask16)-1);
118
120
  }
119
121
 
@@ -134,7 +136,7 @@ _mm512_cvtneps_pbh(__m512 __A) {
134
136
  static __inline__ __m256bh __DEFAULT_FN_ATTRS512
135
137
  _mm512_mask_cvtneps_pbh(__m256bh __W, __mmask16 __U, __m512 __A) {
136
138
  return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
137
- (__v16hi)__W,
139
+ (__v16bf)__W,
138
140
  (__mmask16)__U);
139
141
  }
140
142
 
@@ -153,7 +155,7 @@ _mm512_mask_cvtneps_pbh(__m256bh __W, __mmask16 __U, __m512 __A) {
153
155
  static __inline__ __m256bh __DEFAULT_FN_ATTRS512
154
156
  _mm512_maskz_cvtneps_pbh(__mmask16 __U, __m512 __A) {
155
157
  return (__m256bh)__builtin_ia32_cvtneps2bf16_512_mask((__v16sf)__A,
156
- (__v16hi)_mm256_setzero_si256(),
158
+ (__v16bf)_mm256_setzero_si256(),
157
159
  (__mmask16)__U);
158
160
  }
159
161
 
@@ -174,8 +176,8 @@ _mm512_maskz_cvtneps_pbh(__mmask16 __U, __m512 __A) {
174
176
  static __inline__ __m512 __DEFAULT_FN_ATTRS512
175
177
  _mm512_dpbf16_ps(__m512 __D, __m512bh __A, __m512bh __B) {
176
178
  return (__m512)__builtin_ia32_dpbf16ps_512((__v16sf) __D,
177
- (__v16si) __A,
178
- (__v16si) __B);
179
+ (__v32bf) __A,
180
+ (__v32bf) __B);
179
181
  }
180
182
 
181
183
  /// Dot Product of BF16 Pairs Accumulated into Packed Single Precision.
@@ -277,3 +279,4 @@ _mm512_mask_cvtpbh_ps(__m512 __S, __mmask16 __U, __m256bh __A) {
277
279
  #undef __DEFAULT_FN_ATTRS512
278
280
 
279
281
  #endif
282
+ #endif
@@ -617,7 +617,7 @@ _mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
617
617
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
618
618
  _mm512_adds_epi8 (__m512i __A, __m512i __B)
619
619
  {
620
- return (__m512i)__builtin_ia32_paddsb512((__v64qi)__A, (__v64qi)__B);
620
+ return (__m512i)__builtin_elementwise_add_sat((__v64qs)__A, (__v64qs)__B);
621
621
  }
622
622
 
623
623
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -639,7 +639,7 @@ _mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
639
639
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
640
640
  _mm512_adds_epi16 (__m512i __A, __m512i __B)
641
641
  {
642
- return (__m512i)__builtin_ia32_paddsw512((__v32hi)__A, (__v32hi)__B);
642
+ return (__m512i)__builtin_elementwise_add_sat((__v32hi)__A, (__v32hi)__B);
643
643
  }
644
644
 
645
645
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -661,7 +661,7 @@ _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
661
661
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
662
662
  _mm512_adds_epu8 (__m512i __A, __m512i __B)
663
663
  {
664
- return (__m512i)__builtin_ia32_paddusb512((__v64qi) __A, (__v64qi) __B);
664
+ return (__m512i)__builtin_elementwise_add_sat((__v64qu) __A, (__v64qu) __B);
665
665
  }
666
666
 
667
667
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -683,7 +683,7 @@ _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
683
683
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
684
684
  _mm512_adds_epu16 (__m512i __A, __m512i __B)
685
685
  {
686
- return (__m512i)__builtin_ia32_paddusw512((__v32hi) __A, (__v32hi) __B);
686
+ return (__m512i)__builtin_elementwise_add_sat((__v32hu) __A, (__v32hu) __B);
687
687
  }
688
688
 
689
689
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -950,7 +950,7 @@ _mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B)
950
950
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
951
951
  _mm512_subs_epi8 (__m512i __A, __m512i __B)
952
952
  {
953
- return (__m512i)__builtin_ia32_psubsb512((__v64qi)__A, (__v64qi)__B);
953
+ return (__m512i)__builtin_elementwise_sub_sat((__v64qs)__A, (__v64qs)__B);
954
954
  }
955
955
 
956
956
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -972,7 +972,7 @@ _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
972
972
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
973
973
  _mm512_subs_epi16 (__m512i __A, __m512i __B)
974
974
  {
975
- return (__m512i)__builtin_ia32_psubsw512((__v32hi)__A, (__v32hi)__B);
975
+ return (__m512i)__builtin_elementwise_sub_sat((__v32hi)__A, (__v32hi)__B);
976
976
  }
977
977
 
978
978
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -994,7 +994,7 @@ _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
994
994
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
995
995
  _mm512_subs_epu8 (__m512i __A, __m512i __B)
996
996
  {
997
- return (__m512i)__builtin_ia32_psubusb512((__v64qi) __A, (__v64qi) __B);
997
+ return (__m512i)__builtin_elementwise_sub_sat((__v64qu) __A, (__v64qu) __B);
998
998
  }
999
999
 
1000
1000
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -1016,7 +1016,7 @@ _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
1016
1016
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
1017
1017
  _mm512_subs_epu16 (__m512i __A, __m512i __B)
1018
1018
  {
1019
- return (__m512i)__builtin_ia32_psubusw512((__v32hi) __A, (__v32hi) __B);
1019
+ return (__m512i)__builtin_elementwise_sub_sat((__v32hu) __A, (__v32hu) __B);
1020
1020
  }
1021
1021
 
1022
1022
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -1506,7 +1506,7 @@ _mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1506
1506
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
1507
1507
  _mm512_slli_epi16(__m512i __A, unsigned int __B)
1508
1508
  {
1509
- return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, __B);
1509
+ return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, (int)__B);
1510
1510
  }
1511
1511
 
1512
1512
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -1598,7 +1598,7 @@ _mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1598
1598
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
1599
1599
  _mm512_srai_epi16(__m512i __A, unsigned int __B)
1600
1600
  {
1601
- return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, __B);
1601
+ return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, (int)__B);
1602
1602
  }
1603
1603
 
1604
1604
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -1643,7 +1643,7 @@ _mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1643
1643
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
1644
1644
  _mm512_srli_epi16(__m512i __A, unsigned int __B)
1645
1645
  {
1646
- return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, __B);
1646
+ return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, (int)__B);
1647
1647
  }
1648
1648
 
1649
1649
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -1659,7 +1659,7 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS512
1659
1659
  _mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B)
1660
1660
  {
1661
1661
  return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1662
- (__v32hi)_mm512_srli_epi16(__A, __B),
1662
+ (__v32hi)_mm512_srli_epi16(__A, (unsigned int)__B),
1663
1663
  (__v32hi)_mm512_setzero_si512());
1664
1664
  }
1665
1665
 
@@ -256,8 +256,8 @@ _mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
256
256
  static __inline __m512 __DEFAULT_FN_ATTRS512
257
257
  _mm512_setzero_ps(void)
258
258
  {
259
- return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
260
- 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
259
+ return __extension__ (__m512){ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
260
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
261
261
  }
262
262
 
263
263
  #define _mm512_setzero _mm512_setzero_ps
@@ -1780,7 +1780,7 @@ _mm512_floor_ps(__m512 __A)
1780
1780
  {
1781
1781
  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
1782
1782
  _MM_FROUND_FLOOR,
1783
- (__v16sf) __A, -1,
1783
+ (__v16sf) __A, (unsigned short)-1,
1784
1784
  _MM_FROUND_CUR_DIRECTION);
1785
1785
  }
1786
1786
 
@@ -1798,7 +1798,7 @@ _mm512_floor_pd(__m512d __A)
1798
1798
  {
1799
1799
  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
1800
1800
  _MM_FROUND_FLOOR,
1801
- (__v8df) __A, -1,
1801
+ (__v8df) __A, (unsigned char)-1,
1802
1802
  _MM_FROUND_CUR_DIRECTION);
1803
1803
  }
1804
1804
 
@@ -1825,7 +1825,7 @@ _mm512_ceil_ps(__m512 __A)
1825
1825
  {
1826
1826
  return (__m512) __builtin_ia32_rndscaleps_mask ((__v16sf) __A,
1827
1827
  _MM_FROUND_CEIL,
1828
- (__v16sf) __A, -1,
1828
+ (__v16sf) __A, (unsigned short)-1,
1829
1829
  _MM_FROUND_CUR_DIRECTION);
1830
1830
  }
1831
1831
 
@@ -1834,7 +1834,7 @@ _mm512_ceil_pd(__m512d __A)
1834
1834
  {
1835
1835
  return (__m512d) __builtin_ia32_rndscalepd_mask ((__v8df) __A,
1836
1836
  _MM_FROUND_CEIL,
1837
- (__v8df) __A, -1,
1837
+ (__v8df) __A, (unsigned char)-1,
1838
1838
  _MM_FROUND_CUR_DIRECTION);
1839
1839
  }
1840
1840
 
@@ -5117,7 +5117,7 @@ _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
5117
5117
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
5118
5118
  _mm512_slli_epi32(__m512i __A, unsigned int __B)
5119
5119
  {
5120
- return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, __B);
5120
+ return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, (int)__B);
5121
5121
  }
5122
5122
 
5123
5123
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -5139,7 +5139,7 @@ _mm512_maskz_slli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
5139
5139
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
5140
5140
  _mm512_slli_epi64(__m512i __A, unsigned int __B)
5141
5141
  {
5142
- return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, __B);
5142
+ return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, (int)__B);
5143
5143
  }
5144
5144
 
5145
5145
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -5161,7 +5161,7 @@ _mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
5161
5161
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
5162
5162
  _mm512_srli_epi32(__m512i __A, unsigned int __B)
5163
5163
  {
5164
- return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, __B);
5164
+ return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, (int)__B);
5165
5165
  }
5166
5166
 
5167
5167
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -5183,7 +5183,7 @@ _mm512_maskz_srli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
5183
5183
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
5184
5184
  _mm512_srli_epi64(__m512i __A, unsigned int __B)
5185
5185
  {
5186
- return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, __B);
5186
+ return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, (int)__B);
5187
5187
  }
5188
5188
 
5189
5189
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -5929,41 +5929,44 @@ _mm512_maskz_srlv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
5929
5929
  (__v8di)_mm512_setzero_si512());
5930
5930
  }
5931
5931
 
5932
- #define _mm512_ternarylogic_epi32(A, B, C, imm) \
5933
- ((__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
5934
- (__v16si)(__m512i)(B), \
5935
- (__v16si)(__m512i)(C), (int)(imm), \
5936
- (__mmask16)-1))
5937
-
5938
- #define _mm512_mask_ternarylogic_epi32(A, U, B, C, imm) \
5939
- ((__m512i)__builtin_ia32_pternlogd512_mask((__v16si)(__m512i)(A), \
5940
- (__v16si)(__m512i)(B), \
5941
- (__v16si)(__m512i)(C), (int)(imm), \
5942
- (__mmask16)(U)))
5943
-
5944
- #define _mm512_maskz_ternarylogic_epi32(U, A, B, C, imm) \
5945
- ((__m512i)__builtin_ia32_pternlogd512_maskz((__v16si)(__m512i)(A), \
5946
- (__v16si)(__m512i)(B), \
5947
- (__v16si)(__m512i)(C), \
5948
- (int)(imm), (__mmask16)(U)))
5949
-
5950
- #define _mm512_ternarylogic_epi64(A, B, C, imm) \
5951
- ((__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
5952
- (__v8di)(__m512i)(B), \
5953
- (__v8di)(__m512i)(C), (int)(imm), \
5954
- (__mmask8)-1))
5955
-
5956
- #define _mm512_mask_ternarylogic_epi64(A, U, B, C, imm) \
5957
- ((__m512i)__builtin_ia32_pternlogq512_mask((__v8di)(__m512i)(A), \
5958
- (__v8di)(__m512i)(B), \
5959
- (__v8di)(__m512i)(C), (int)(imm), \
5960
- (__mmask8)(U)))
5961
-
5962
- #define _mm512_maskz_ternarylogic_epi64(U, A, B, C, imm) \
5963
- ((__m512i)__builtin_ia32_pternlogq512_maskz((__v8di)(__m512i)(A), \
5964
- (__v8di)(__m512i)(B), \
5965
- (__v8di)(__m512i)(C), (int)(imm), \
5966
- (__mmask8)(U)))
5932
+ /// \enum _MM_TERNLOG_ENUM
5933
+ /// A helper to represent the ternary logic operations among vector \a A,
5934
+ /// \a B and \a C. The representation is passed to \a imm.
5935
+ typedef enum {
5936
+ _MM_TERNLOG_A = 0xF0,
5937
+ _MM_TERNLOG_B = 0xCC,
5938
+ _MM_TERNLOG_C = 0xAA
5939
+ } _MM_TERNLOG_ENUM;
5940
+
5941
+ #define _mm512_ternarylogic_epi32(A, B, C, imm) \
5942
+ ((__m512i)__builtin_ia32_pternlogd512_mask( \
5943
+ (__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
5944
+ (unsigned char)(imm), (__mmask16)-1))
5945
+
5946
+ #define _mm512_mask_ternarylogic_epi32(A, U, B, C, imm) \
5947
+ ((__m512i)__builtin_ia32_pternlogd512_mask( \
5948
+ (__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
5949
+ (unsigned char)(imm), (__mmask16)(U)))
5950
+
5951
+ #define _mm512_maskz_ternarylogic_epi32(U, A, B, C, imm) \
5952
+ ((__m512i)__builtin_ia32_pternlogd512_maskz( \
5953
+ (__v16si)(__m512i)(A), (__v16si)(__m512i)(B), (__v16si)(__m512i)(C), \
5954
+ (unsigned char)(imm), (__mmask16)(U)))
5955
+
5956
+ #define _mm512_ternarylogic_epi64(A, B, C, imm) \
5957
+ ((__m512i)__builtin_ia32_pternlogq512_mask( \
5958
+ (__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
5959
+ (unsigned char)(imm), (__mmask8)-1))
5960
+
5961
+ #define _mm512_mask_ternarylogic_epi64(A, U, B, C, imm) \
5962
+ ((__m512i)__builtin_ia32_pternlogq512_mask( \
5963
+ (__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
5964
+ (unsigned char)(imm), (__mmask8)(U)))
5965
+
5966
+ #define _mm512_maskz_ternarylogic_epi64(U, A, B, C, imm) \
5967
+ ((__m512i)__builtin_ia32_pternlogq512_maskz( \
5968
+ (__v8di)(__m512i)(A), (__v8di)(__m512i)(B), (__v8di)(__m512i)(C), \
5969
+ (unsigned char)(imm), (__mmask8)(U)))
5967
5970
 
5968
5971
  #ifdef __x86_64__
5969
5972
  #define _mm_cvt_roundsd_i64(A, R) \
@@ -6603,7 +6606,7 @@ _mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
6603
6606
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
6604
6607
  _mm512_srai_epi32(__m512i __A, unsigned int __B)
6605
6608
  {
6606
- return (__m512i)__builtin_ia32_psradi512((__v16si)__A, __B);
6609
+ return (__m512i)__builtin_ia32_psradi512((__v16si)__A, (int)__B);
6607
6610
  }
6608
6611
 
6609
6612
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -6626,7 +6629,7 @@ _mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A,
6626
6629
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
6627
6630
  _mm512_srai_epi64(__m512i __A, unsigned int __B)
6628
6631
  {
6629
- return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, __B);
6632
+ return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, (int)__B);
6630
6633
  }
6631
6634
 
6632
6635
  static __inline__ __m512i __DEFAULT_FN_ATTRS512
@@ -9316,11 +9319,11 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
9316
9319
  */
9317
9320
 
9318
9321
  static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
9319
- return __builtin_ia32_reduce_add_q512(__W);
9322
+ return __builtin_reduce_add((__v8di)__W);
9320
9323
  }
9321
9324
 
9322
9325
  static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_epi64(__m512i __W) {
9323
- return __builtin_ia32_reduce_mul_q512(__W);
9326
+ return __builtin_reduce_mul((__v8di)__W);
9324
9327
  }
9325
9328
 
9326
9329
  static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_and_epi64(__m512i __W) {
@@ -9334,18 +9337,18 @@ static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_or_epi64(__m512i
9334
9337
  static __inline__ long long __DEFAULT_FN_ATTRS512
9335
9338
  _mm512_mask_reduce_add_epi64(__mmask8 __M, __m512i __W) {
9336
9339
  __W = _mm512_maskz_mov_epi64(__M, __W);
9337
- return __builtin_ia32_reduce_add_q512(__W);
9340
+ return __builtin_reduce_add((__v8di)__W);
9338
9341
  }
9339
9342
 
9340
9343
  static __inline__ long long __DEFAULT_FN_ATTRS512
9341
9344
  _mm512_mask_reduce_mul_epi64(__mmask8 __M, __m512i __W) {
9342
9345
  __W = _mm512_mask_mov_epi64(_mm512_set1_epi64(1), __M, __W);
9343
- return __builtin_ia32_reduce_mul_q512(__W);
9346
+ return __builtin_reduce_mul((__v8di)__W);
9344
9347
  }
9345
9348
 
9346
9349
  static __inline__ long long __DEFAULT_FN_ATTRS512
9347
9350
  _mm512_mask_reduce_and_epi64(__mmask8 __M, __m512i __W) {
9348
- __W = _mm512_mask_mov_epi64(_mm512_set1_epi64(~0ULL), __M, __W);
9351
+ __W = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __W);
9349
9352
  return __builtin_reduce_and((__v8di)__W);
9350
9353
  }
9351
9354
 
@@ -9380,12 +9383,12 @@ _mm512_mask_reduce_mul_pd(__mmask8 __M, __m512d __W) {
9380
9383
 
9381
9384
  static __inline__ int __DEFAULT_FN_ATTRS512
9382
9385
  _mm512_reduce_add_epi32(__m512i __W) {
9383
- return __builtin_ia32_reduce_add_d512((__v16si)__W);
9386
+ return __builtin_reduce_add((__v16si)__W);
9384
9387
  }
9385
9388
 
9386
9389
  static __inline__ int __DEFAULT_FN_ATTRS512
9387
9390
  _mm512_reduce_mul_epi32(__m512i __W) {
9388
- return __builtin_ia32_reduce_mul_d512((__v16si)__W);
9391
+ return __builtin_reduce_mul((__v16si)__W);
9389
9392
  }
9390
9393
 
9391
9394
  static __inline__ int __DEFAULT_FN_ATTRS512
@@ -9401,18 +9404,18 @@ _mm512_reduce_or_epi32(__m512i __W) {
9401
9404
  static __inline__ int __DEFAULT_FN_ATTRS512
9402
9405
  _mm512_mask_reduce_add_epi32( __mmask16 __M, __m512i __W) {
9403
9406
  __W = _mm512_maskz_mov_epi32(__M, __W);
9404
- return __builtin_ia32_reduce_add_d512((__v16si)__W);
9407
+ return __builtin_reduce_add((__v16si)__W);
9405
9408
  }
9406
9409
 
9407
9410
  static __inline__ int __DEFAULT_FN_ATTRS512
9408
9411
  _mm512_mask_reduce_mul_epi32( __mmask16 __M, __m512i __W) {
9409
9412
  __W = _mm512_mask_mov_epi32(_mm512_set1_epi32(1), __M, __W);
9410
- return __builtin_ia32_reduce_mul_d512((__v16si)__W);
9413
+ return __builtin_reduce_mul((__v16si)__W);
9411
9414
  }
9412
9415
 
9413
9416
  static __inline__ int __DEFAULT_FN_ATTRS512
9414
9417
  _mm512_mask_reduce_and_epi32( __mmask16 __M, __m512i __W) {
9415
- __W = _mm512_mask_mov_epi32(_mm512_set1_epi32(~0U), __M, __W);
9418
+ __W = _mm512_mask_mov_epi32(_mm512_set1_epi32(-1), __M, __W);
9416
9419
  return __builtin_reduce_and((__v16si)__W);
9417
9420
  }
9418
9421
 
@@ -9484,7 +9487,7 @@ _mm512_mask_reduce_min_epi64(__mmask8 __M, __m512i __V) {
9484
9487
 
9485
9488
  static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
9486
9489
  _mm512_mask_reduce_min_epu64(__mmask8 __M, __m512i __V) {
9487
- __V = _mm512_mask_mov_epi64(_mm512_set1_epi64(~0ULL), __M, __V);
9490
+ __V = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __V);
9488
9491
  return __builtin_reduce_min((__v8du)__V);
9489
9492
  }
9490
9493
  static __inline__ int __DEFAULT_FN_ATTRS512
@@ -9527,7 +9530,7 @@ _mm512_mask_reduce_min_epi32(__mmask16 __M, __m512i __V) {
9527
9530
 
9528
9531
  static __inline__ unsigned int __DEFAULT_FN_ATTRS512
9529
9532
  _mm512_mask_reduce_min_epu32(__mmask16 __M, __m512i __V) {
9530
- __V = _mm512_mask_mov_epi32(_mm512_set1_epi32(~0U), __M, __V);
9533
+ __V = _mm512_mask_mov_epi32(_mm512_set1_epi32(-1), __M, __V);
9531
9534
  return __builtin_reduce_min((__v16su)__V);
9532
9535
  }
9533
9536
 
@@ -9598,7 +9601,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9598
9601
  ///
9599
9602
  /// This intrinsic corresponds to the <c> VGATHERDPD </c> instructions.
9600
9603
  ///
9601
- /// \operation
9604
+ /// \code{.operation}
9602
9605
  /// FOR j := 0 to 7
9603
9606
  /// i := j*64
9604
9607
  /// m := j*32
@@ -9606,7 +9609,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9606
9609
  /// dst[i+63:i] := MEM[addr+63:addr]
9607
9610
  /// ENDFOR
9608
9611
  /// dst[MAX:512] := 0
9609
- /// \endoperation
9612
+ /// \endcode
9610
9613
  #define _mm512_i32logather_pd(vindex, base_addr, scale) \
9611
9614
  _mm512_i32gather_pd(_mm512_castsi512_si256(vindex), (base_addr), (scale))
9612
9615
 
@@ -9618,7 +9621,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9618
9621
  ///
9619
9622
  /// This intrinsic corresponds to the <c> VGATHERDPD </c> instructions.
9620
9623
  ///
9621
- /// \operation
9624
+ /// \code{.operation}
9622
9625
  /// FOR j := 0 to 7
9623
9626
  /// i := j*64
9624
9627
  /// m := j*32
@@ -9630,7 +9633,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9630
9633
  /// FI
9631
9634
  /// ENDFOR
9632
9635
  /// dst[MAX:512] := 0
9633
- /// \endoperation
9636
+ /// \endcode
9634
9637
  #define _mm512_mask_i32logather_pd(src, mask, vindex, base_addr, scale) \
9635
9638
  _mm512_mask_i32gather_pd((src), (mask), _mm512_castsi512_si256(vindex), \
9636
9639
  (base_addr), (scale))
@@ -9641,7 +9644,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9641
9644
  ///
9642
9645
  /// This intrinsic corresponds to the <c> VPGATHERDQ </c> instructions.
9643
9646
  ///
9644
- /// \operation
9647
+ /// \code{.operation}
9645
9648
  /// FOR j := 0 to 7
9646
9649
  /// i := j*64
9647
9650
  /// m := j*32
@@ -9649,7 +9652,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9649
9652
  /// dst[i+63:i] := MEM[addr+63:addr]
9650
9653
  /// ENDFOR
9651
9654
  /// dst[MAX:512] := 0
9652
- /// \endoperation
9655
+ /// \endcode
9653
9656
  #define _mm512_i32logather_epi64(vindex, base_addr, scale) \
9654
9657
  _mm512_i32gather_epi64(_mm512_castsi512_si256(vindex), (base_addr), (scale))
9655
9658
 
@@ -9660,7 +9663,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9660
9663
  ///
9661
9664
  /// This intrinsic corresponds to the <c> VPGATHERDQ </c> instructions.
9662
9665
  ///
9663
- /// \operation
9666
+ /// \code{.operation}
9664
9667
  /// FOR j := 0 to 7
9665
9668
  /// i := j*64
9666
9669
  /// m := j*32
@@ -9672,7 +9675,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9672
9675
  /// FI
9673
9676
  /// ENDFOR
9674
9677
  /// dst[MAX:512] := 0
9675
- /// \endoperation
9678
+ /// \endcode
9676
9679
  #define _mm512_mask_i32logather_epi64(src, mask, vindex, base_addr, scale) \
9677
9680
  _mm512_mask_i32gather_epi64((src), (mask), _mm512_castsi512_si256(vindex), \
9678
9681
  (base_addr), (scale))
@@ -9683,14 +9686,14 @@ _mm512_cvtsi512_si32(__m512i __A) {
9683
9686
  ///
9684
9687
  /// This intrinsic corresponds to the <c> VSCATTERDPD </c> instructions.
9685
9688
  ///
9686
- /// \operation
9689
+ /// \code{.operation}
9687
9690
  /// FOR j := 0 to 7
9688
9691
  /// i := j*64
9689
9692
  /// m := j*32
9690
9693
  /// addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
9691
9694
  /// MEM[addr+63:addr] := v1[i+63:i]
9692
9695
  /// ENDFOR
9693
- /// \endoperation
9696
+ /// \endcode
9694
9697
  #define _mm512_i32loscatter_pd(base_addr, vindex, v1, scale) \
9695
9698
  _mm512_i32scatter_pd((base_addr), _mm512_castsi512_si256(vindex), (v1), (scale))
9696
9699
 
@@ -9702,7 +9705,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9702
9705
  ///
9703
9706
  /// This intrinsic corresponds to the <c> VSCATTERDPD </c> instructions.
9704
9707
  ///
9705
- /// \operation
9708
+ /// \code{.operation}
9706
9709
  /// FOR j := 0 to 7
9707
9710
  /// i := j*64
9708
9711
  /// m := j*32
@@ -9711,7 +9714,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9711
9714
  /// MEM[addr+63:addr] := a[i+63:i]
9712
9715
  /// FI
9713
9716
  /// ENDFOR
9714
- /// \endoperation
9717
+ /// \endcode
9715
9718
  #define _mm512_mask_i32loscatter_pd(base_addr, mask, vindex, v1, scale) \
9716
9719
  _mm512_mask_i32scatter_pd((base_addr), (mask), \
9717
9720
  _mm512_castsi512_si256(vindex), (v1), (scale))
@@ -9722,14 +9725,14 @@ _mm512_cvtsi512_si32(__m512i __A) {
9722
9725
  ///
9723
9726
  /// This intrinsic corresponds to the <c> VPSCATTERDQ </c> instructions.
9724
9727
  ///
9725
- /// \operation
9728
+ /// \code{.operation}
9726
9729
  /// FOR j := 0 to 7
9727
9730
  /// i := j*64
9728
9731
  /// m := j*32
9729
9732
  /// addr := base_addr + SignExtend64(vindex[m+31:m]) * ZeroExtend64(scale) * 8
9730
9733
  /// MEM[addr+63:addr] := a[i+63:i]
9731
9734
  /// ENDFOR
9732
- /// \endoperation
9735
+ /// \endcode
9733
9736
  #define _mm512_i32loscatter_epi64(base_addr, vindex, v1, scale) \
9734
9737
  _mm512_i32scatter_epi64((base_addr), \
9735
9738
  _mm512_castsi512_si256(vindex), (v1), (scale))
@@ -9741,7 +9744,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9741
9744
  ///
9742
9745
  /// This intrinsic corresponds to the <c> VPSCATTERDQ </c> instructions.
9743
9746
  ///
9744
- /// \operation
9747
+ /// \code{.operation}
9745
9748
  /// FOR j := 0 to 7
9746
9749
  /// i := j*64
9747
9750
  /// m := j*32
@@ -9750,7 +9753,7 @@ _mm512_cvtsi512_si32(__m512i __A) {
9750
9753
  /// MEM[addr+63:addr] := a[i+63:i]
9751
9754
  /// FI
9752
9755
  /// ENDFOR
9753
- /// \endoperation
9756
+ /// \endcode
9754
9757
  #define _mm512_mask_i32loscatter_epi64(base_addr, mask, vindex, v1, scale) \
9755
9758
  _mm512_mask_i32scatter_epi64((base_addr), (mask), \
9756
9759
  _mm512_castsi512_si256(vindex), (v1), (scale))