@cpp-linter/clang-tidy-darwin-arm64 17.0.6 → 18.1.5

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 (242) hide show
  1. package/README.md +2 -2
  2. package/bin/clang-tidy +2 -2
  3. package/lib/clang/{17 → 18}/include/__clang_cuda_device_functions.h +2 -2
  4. package/lib/clang/{17 → 18}/include/__clang_cuda_libdevice_declares.h +2 -2
  5. package/lib/clang/{17 → 18}/include/__clang_cuda_math.h +2 -2
  6. package/lib/clang/{17 → 18}/include/__clang_cuda_runtime_wrapper.h +2 -2
  7. package/lib/clang/{17 → 18}/include/__clang_hip_math.h +192 -171
  8. package/lib/clang/{17 → 18}/include/__clang_hip_runtime_wrapper.h +34 -26
  9. package/lib/clang/18/include/__stdarg___gnuc_va_list.h +13 -0
  10. package/lib/clang/18/include/__stdarg___va_copy.h +12 -0
  11. package/lib/clang/18/include/__stdarg_va_arg.h +22 -0
  12. package/lib/clang/18/include/__stdarg_va_copy.h +12 -0
  13. package/lib/clang/18/include/__stdarg_va_list.h +13 -0
  14. package/lib/clang/{17 → 18}/include/__stddef_max_align_t.h +1 -1
  15. package/lib/clang/18/include/__stddef_null.h +29 -0
  16. package/lib/clang/18/include/__stddef_nullptr_t.h +29 -0
  17. package/lib/clang/18/include/__stddef_offsetof.h +17 -0
  18. package/lib/clang/18/include/__stddef_ptrdiff_t.h +20 -0
  19. package/lib/clang/18/include/__stddef_rsize_t.h +20 -0
  20. package/lib/clang/18/include/__stddef_size_t.h +20 -0
  21. package/lib/clang/18/include/__stddef_unreachable.h +21 -0
  22. package/lib/clang/18/include/__stddef_wchar_t.h +28 -0
  23. package/lib/clang/18/include/__stddef_wint_t.h +15 -0
  24. package/lib/clang/{17/include/adxintrin.h → 18/include/adcintrin.h} +27 -94
  25. package/lib/clang/18/include/adxintrin.h +102 -0
  26. package/lib/clang/{17 → 18}/include/altivec.h +31 -12
  27. package/lib/clang/{17 → 18}/include/ammintrin.h +4 -4
  28. package/lib/clang/{17 → 18}/include/arm_acle.h +111 -31
  29. package/lib/clang/{17 → 18}/include/arm_neon.h +85 -327
  30. package/lib/clang/18/include/arm_sme.h +2412 -0
  31. package/lib/clang/{17 → 18}/include/arm_sve.h +7386 -351
  32. package/lib/clang/18/include/arm_vector_types.h +345 -0
  33. package/lib/clang/{17 → 18}/include/avx2intrin.h +24 -3
  34. package/lib/clang/{17 → 18}/include/avx512bf16intrin.h +3 -2
  35. package/lib/clang/{17 → 18}/include/avx512bitalgintrin.h +4 -1
  36. package/lib/clang/{17 → 18}/include/avx512bwintrin.h +28 -38
  37. package/lib/clang/{17 → 18}/include/avx512cdintrin.h +3 -1
  38. package/lib/clang/{17 → 18}/include/avx512dqintrin.h +4 -2
  39. package/lib/clang/{17 → 18}/include/avx512fintrin.h +7 -3
  40. package/lib/clang/{17 → 18}/include/avx512fp16intrin.h +6 -4
  41. package/lib/clang/{17 → 18}/include/avx512ifmaintrin.h +3 -1
  42. package/lib/clang/{17 → 18}/include/avx512ifmavlintrin.h +8 -2
  43. package/lib/clang/{17 → 18}/include/avx512pfintrin.h +0 -5
  44. package/lib/clang/{17 → 18}/include/avx512vbmi2intrin.h +1 -1
  45. package/lib/clang/{17 → 18}/include/avx512vbmiintrin.h +3 -2
  46. package/lib/clang/{17 → 18}/include/avx512vbmivlintrin.h +8 -3
  47. package/lib/clang/{17 → 18}/include/avx512vlbf16intrin.h +8 -6
  48. package/lib/clang/{17 → 18}/include/avx512vlbitalgintrin.h +8 -2
  49. package/lib/clang/{17 → 18}/include/avx512vlbwintrin.h +8 -2
  50. package/lib/clang/{17 → 18}/include/avx512vlcdintrin.h +8 -3
  51. package/lib/clang/{17 → 18}/include/avx512vldqintrin.h +8 -2
  52. package/lib/clang/{17 → 18}/include/avx512vlfp16intrin.h +2 -2
  53. package/lib/clang/{17 → 18}/include/avx512vlintrin.h +8 -2
  54. package/lib/clang/{17 → 18}/include/avx512vlvbmi2intrin.h +8 -2
  55. package/lib/clang/{17 → 18}/include/avx512vlvnniintrin.h +8 -2
  56. package/lib/clang/{17 → 18}/include/avx512vlvp2intersectintrin.h +6 -4
  57. package/lib/clang/{17 → 18}/include/avx512vnniintrin.h +3 -2
  58. package/lib/clang/{17 → 18}/include/avx512vp2intersectintrin.h +3 -2
  59. package/lib/clang/{17 → 18}/include/avx512vpopcntdqintrin.h +3 -1
  60. package/lib/clang/{17 → 18}/include/avx512vpopcntdqvlintrin.h +6 -2
  61. package/lib/clang/{17 → 18}/include/avxintrin.h +9 -5
  62. package/lib/clang/{17 → 18}/include/bmiintrin.h +231 -46
  63. package/lib/clang/{17 → 18}/include/emmintrin.h +10 -10
  64. package/lib/clang/{17 → 18}/include/gfniintrin.h +23 -6
  65. package/lib/clang/18/include/hlsl/hlsl_intrinsics.h +624 -0
  66. package/lib/clang/18/include/ia32intrin.h +863 -0
  67. package/lib/clang/{17 → 18}/include/immintrin.h +66 -3
  68. package/lib/clang/{17 → 18}/include/intrin.h +16 -0
  69. package/lib/clang/{17 → 18}/include/larchintrin.h +13 -1
  70. package/lib/clang/18/include/lasxintrin.h +3884 -0
  71. package/lib/clang/{17 → 18}/include/limits.h +2 -4
  72. package/lib/clang/{17/include/llvm_libc_wrappers/stdio.h → 18/include/llvm_libc_wrappers/assert.h} +7 -7
  73. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/ctype.h +17 -0
  74. package/lib/clang/18/include/llvm_libc_wrappers/stdio.h +80 -0
  75. package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/stdlib.h +4 -1
  76. package/lib/clang/18/include/llvm_libc_wrappers/string.h +96 -0
  77. package/lib/clang/{17/include/llvm_libc_wrappers/string.h → 18/include/llvm_libc_wrappers/time.h} +9 -12
  78. package/lib/clang/18/include/lsxintrin.h +3750 -0
  79. package/lib/clang/{17 → 18}/include/mmintrin.h +7 -5
  80. package/lib/clang/{17 → 18}/include/module.modulemap +155 -2
  81. package/lib/clang/{17 → 18}/include/opencl-c-base.h +5 -0
  82. package/lib/clang/{17 → 18}/include/openmp_wrappers/cmath +1 -1
  83. package/lib/clang/{17 → 18}/include/pmmintrin.h +3 -2
  84. package/lib/clang/18/include/ppc_wrappers/nmmintrin.h +26 -0
  85. package/lib/clang/{17 → 18}/include/ppc_wrappers/smmintrin.h +35 -15
  86. package/lib/clang/18/include/riscv_bitmanip.h +195 -0
  87. package/lib/clang/18/include/riscv_crypto.h +170 -0
  88. package/lib/clang/{17 → 18}/include/riscv_ntlh.h +3 -5
  89. package/lib/clang/{17 → 18}/include/riscv_vector.h +31 -0
  90. package/lib/clang/{17 → 18}/include/smmintrin.h +3 -3
  91. package/lib/clang/{17 → 18}/include/stdalign.h +1 -3
  92. package/lib/clang/18/include/stdarg.h +79 -0
  93. package/lib/clang/{17 → 18}/include/stdatomic.h +3 -5
  94. package/lib/clang/18/include/stdckdint.h +42 -0
  95. package/lib/clang/18/include/stddef.h +123 -0
  96. package/lib/clang/{17 → 18}/include/stdint.h +19 -48
  97. package/lib/clang/{17 → 18}/include/stdnoreturn.h +2 -2
  98. package/lib/clang/{17 → 18}/include/tmmintrin.h +7 -2
  99. package/lib/clang/18/include/usermsrintrin.h +51 -0
  100. package/lib/clang/{17 → 18}/include/vaesintrin.h +4 -2
  101. package/lib/clang/{17 → 18}/include/vecintrin.h +217 -199
  102. package/lib/clang/{17 → 18}/include/x86gprintrin.h +5 -0
  103. package/lib/clang/{17 → 18}/include/xmmintrin.h +9 -5
  104. package/package.json +6 -6
  105. package/lib/clang/17/include/arm_sme_draft_spec_subject_to_change.h +0 -642
  106. package/lib/clang/17/include/hlsl/hlsl_intrinsics.h +0 -480
  107. package/lib/clang/17/include/ia32intrin.h +0 -441
  108. package/lib/clang/17/include/stdarg.h +0 -51
  109. package/lib/clang/17/include/stddef.h +0 -133
  110. /package/lib/clang/{17 → 18}/include/__clang_cuda_builtin_vars.h +0 -0
  111. /package/lib/clang/{17 → 18}/include/__clang_cuda_cmath.h +0 -0
  112. /package/lib/clang/{17 → 18}/include/__clang_cuda_complex_builtins.h +0 -0
  113. /package/lib/clang/{17 → 18}/include/__clang_cuda_intrinsics.h +0 -0
  114. /package/lib/clang/{17 → 18}/include/__clang_cuda_math_forward_declares.h +0 -0
  115. /package/lib/clang/{17 → 18}/include/__clang_cuda_texture_intrinsics.h +0 -0
  116. /package/lib/clang/{17 → 18}/include/__clang_hip_cmath.h +0 -0
  117. /package/lib/clang/{17 → 18}/include/__clang_hip_libdevice_declares.h +0 -0
  118. /package/lib/clang/{17 → 18}/include/__clang_hip_stdlib.h +0 -0
  119. /package/lib/clang/{17 → 18}/include/__wmmintrin_aes.h +0 -0
  120. /package/lib/clang/{17 → 18}/include/__wmmintrin_pclmul.h +0 -0
  121. /package/lib/clang/{17 → 18}/include/amxcomplexintrin.h +0 -0
  122. /package/lib/clang/{17 → 18}/include/amxfp16intrin.h +0 -0
  123. /package/lib/clang/{17 → 18}/include/amxintrin.h +0 -0
  124. /package/lib/clang/{17 → 18}/include/arm64intr.h +0 -0
  125. /package/lib/clang/{17 → 18}/include/arm_bf16.h +0 -0
  126. /package/lib/clang/{17 → 18}/include/arm_cde.h +0 -0
  127. /package/lib/clang/{17 → 18}/include/arm_cmse.h +0 -0
  128. /package/lib/clang/{17 → 18}/include/arm_fp16.h +0 -0
  129. /package/lib/clang/{17 → 18}/include/arm_mve.h +0 -0
  130. /package/lib/clang/{17 → 18}/include/arm_neon_sve_bridge.h +0 -0
  131. /package/lib/clang/{17 → 18}/include/armintr.h +0 -0
  132. /package/lib/clang/{17 → 18}/include/avx512erintrin.h +0 -0
  133. /package/lib/clang/{17 → 18}/include/avxifmaintrin.h +0 -0
  134. /package/lib/clang/{17 → 18}/include/avxneconvertintrin.h +0 -0
  135. /package/lib/clang/{17 → 18}/include/avxvnniint16intrin.h +0 -0
  136. /package/lib/clang/{17 → 18}/include/avxvnniint8intrin.h +0 -0
  137. /package/lib/clang/{17 → 18}/include/avxvnniintrin.h +0 -0
  138. /package/lib/clang/{17 → 18}/include/bmi2intrin.h +0 -0
  139. /package/lib/clang/{17 → 18}/include/builtins.h +0 -0
  140. /package/lib/clang/{17 → 18}/include/cet.h +0 -0
  141. /package/lib/clang/{17 → 18}/include/cetintrin.h +0 -0
  142. /package/lib/clang/{17 → 18}/include/cldemoteintrin.h +0 -0
  143. /package/lib/clang/{17 → 18}/include/clflushoptintrin.h +0 -0
  144. /package/lib/clang/{17 → 18}/include/clwbintrin.h +0 -0
  145. /package/lib/clang/{17 → 18}/include/clzerointrin.h +0 -0
  146. /package/lib/clang/{17 → 18}/include/cmpccxaddintrin.h +0 -0
  147. /package/lib/clang/{17 → 18}/include/cpuid.h +0 -0
  148. /package/lib/clang/{17 → 18}/include/crc32intrin.h +0 -0
  149. /package/lib/clang/{17 → 18}/include/cuda_wrappers/algorithm +0 -0
  150. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.h +0 -0
  151. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/basic_string.tcc +0 -0
  152. /package/lib/clang/{17 → 18}/include/cuda_wrappers/bits/shared_ptr_base.h +0 -0
  153. /package/lib/clang/{17 → 18}/include/cuda_wrappers/cmath +0 -0
  154. /package/lib/clang/{17 → 18}/include/cuda_wrappers/complex +0 -0
  155. /package/lib/clang/{17 → 18}/include/cuda_wrappers/new +0 -0
  156. /package/lib/clang/{17 → 18}/include/enqcmdintrin.h +0 -0
  157. /package/lib/clang/{17 → 18}/include/f16cintrin.h +0 -0
  158. /package/lib/clang/{17 → 18}/include/float.h +0 -0
  159. /package/lib/clang/{17 → 18}/include/fma4intrin.h +0 -0
  160. /package/lib/clang/{17 → 18}/include/fmaintrin.h +0 -0
  161. /package/lib/clang/{17 → 18}/include/fxsrintrin.h +0 -0
  162. /package/lib/clang/{17 → 18}/include/hexagon_circ_brev_intrinsics.h +0 -0
  163. /package/lib/clang/{17 → 18}/include/hexagon_protos.h +0 -0
  164. /package/lib/clang/{17 → 18}/include/hexagon_types.h +0 -0
  165. /package/lib/clang/{17 → 18}/include/hlsl/hlsl_basic_types.h +0 -0
  166. /package/lib/clang/{17 → 18}/include/hlsl.h +0 -0
  167. /package/lib/clang/{17 → 18}/include/hresetintrin.h +0 -0
  168. /package/lib/clang/{17 → 18}/include/htmintrin.h +0 -0
  169. /package/lib/clang/{17 → 18}/include/htmxlintrin.h +0 -0
  170. /package/lib/clang/{17 → 18}/include/hvx_hexagon_protos.h +0 -0
  171. /package/lib/clang/{17 → 18}/include/inttypes.h +0 -0
  172. /package/lib/clang/{17 → 18}/include/invpcidintrin.h +0 -0
  173. /package/lib/clang/{17 → 18}/include/iso646.h +0 -0
  174. /package/lib/clang/{17 → 18}/include/keylockerintrin.h +0 -0
  175. /package/lib/clang/{17 → 18}/include/llvm_libc_wrappers/inttypes.h +0 -0
  176. /package/lib/clang/{17 → 18}/include/lwpintrin.h +0 -0
  177. /package/lib/clang/{17 → 18}/include/lzcntintrin.h +0 -0
  178. /package/lib/clang/{17 → 18}/include/mm3dnow.h +0 -0
  179. /package/lib/clang/{17 → 18}/include/mm_malloc.h +0 -0
  180. /package/lib/clang/{17 → 18}/include/movdirintrin.h +0 -0
  181. /package/lib/clang/{17 → 18}/include/msa.h +0 -0
  182. /package/lib/clang/{17 → 18}/include/mwaitxintrin.h +0 -0
  183. /package/lib/clang/{17 → 18}/include/nmmintrin.h +0 -0
  184. /package/lib/clang/{17 → 18}/include/opencl-c.h +0 -0
  185. /package/lib/clang/{17 → 18}/include/openmp_wrappers/__clang_openmp_device_functions.h +0 -0
  186. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex +0 -0
  187. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex.h +0 -0
  188. /package/lib/clang/{17 → 18}/include/openmp_wrappers/complex_cmath.h +0 -0
  189. /package/lib/clang/{17 → 18}/include/openmp_wrappers/math.h +0 -0
  190. /package/lib/clang/{17 → 18}/include/openmp_wrappers/new +0 -0
  191. /package/lib/clang/{17 → 18}/include/pconfigintrin.h +0 -0
  192. /package/lib/clang/{17 → 18}/include/pkuintrin.h +0 -0
  193. /package/lib/clang/{17 → 18}/include/popcntintrin.h +0 -0
  194. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmi2intrin.h +0 -0
  195. /package/lib/clang/{17 → 18}/include/ppc_wrappers/bmiintrin.h +0 -0
  196. /package/lib/clang/{17 → 18}/include/ppc_wrappers/emmintrin.h +0 -0
  197. /package/lib/clang/{17 → 18}/include/ppc_wrappers/immintrin.h +0 -0
  198. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mm_malloc.h +0 -0
  199. /package/lib/clang/{17 → 18}/include/ppc_wrappers/mmintrin.h +0 -0
  200. /package/lib/clang/{17 → 18}/include/ppc_wrappers/pmmintrin.h +0 -0
  201. /package/lib/clang/{17 → 18}/include/ppc_wrappers/tmmintrin.h +0 -0
  202. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86gprintrin.h +0 -0
  203. /package/lib/clang/{17 → 18}/include/ppc_wrappers/x86intrin.h +0 -0
  204. /package/lib/clang/{17 → 18}/include/ppc_wrappers/xmmintrin.h +0 -0
  205. /package/lib/clang/{17 → 18}/include/prfchiintrin.h +0 -0
  206. /package/lib/clang/{17 → 18}/include/prfchwintrin.h +0 -0
  207. /package/lib/clang/{17 → 18}/include/ptwriteintrin.h +0 -0
  208. /package/lib/clang/{17 → 18}/include/raointintrin.h +0 -0
  209. /package/lib/clang/{17 → 18}/include/rdpruintrin.h +0 -0
  210. /package/lib/clang/{17 → 18}/include/rdseedintrin.h +0 -0
  211. /package/lib/clang/{17 → 18}/include/rtmintrin.h +0 -0
  212. /package/lib/clang/{17 → 18}/include/s390intrin.h +0 -0
  213. /package/lib/clang/{17 → 18}/include/serializeintrin.h +0 -0
  214. /package/lib/clang/{17 → 18}/include/sgxintrin.h +0 -0
  215. /package/lib/clang/{17 → 18}/include/sha512intrin.h +0 -0
  216. /package/lib/clang/{17 → 18}/include/shaintrin.h +0 -0
  217. /package/lib/clang/{17 → 18}/include/sifive_vector.h +0 -0
  218. /package/lib/clang/{17 → 18}/include/sm3intrin.h +0 -0
  219. /package/lib/clang/{17 → 18}/include/sm4intrin.h +0 -0
  220. /package/lib/clang/{17 → 18}/include/stdbool.h +0 -0
  221. /package/lib/clang/{17 → 18}/include/tbmintrin.h +0 -0
  222. /package/lib/clang/{17 → 18}/include/tgmath.h +0 -0
  223. /package/lib/clang/{17 → 18}/include/tsxldtrkintrin.h +0 -0
  224. /package/lib/clang/{17 → 18}/include/uintrintrin.h +0 -0
  225. /package/lib/clang/{17 → 18}/include/unwind.h +0 -0
  226. /package/lib/clang/{17 → 18}/include/vadefs.h +0 -0
  227. /package/lib/clang/{17 → 18}/include/varargs.h +0 -0
  228. /package/lib/clang/{17 → 18}/include/velintrin.h +0 -0
  229. /package/lib/clang/{17 → 18}/include/velintrin_approx.h +0 -0
  230. /package/lib/clang/{17 → 18}/include/velintrin_gen.h +0 -0
  231. /package/lib/clang/{17 → 18}/include/vpclmulqdqintrin.h +0 -0
  232. /package/lib/clang/{17 → 18}/include/waitpkgintrin.h +0 -0
  233. /package/lib/clang/{17 → 18}/include/wasm_simd128.h +0 -0
  234. /package/lib/clang/{17 → 18}/include/wbnoinvdintrin.h +0 -0
  235. /package/lib/clang/{17 → 18}/include/wmmintrin.h +0 -0
  236. /package/lib/clang/{17 → 18}/include/x86intrin.h +0 -0
  237. /package/lib/clang/{17 → 18}/include/xopintrin.h +0 -0
  238. /package/lib/clang/{17 → 18}/include/xsavecintrin.h +0 -0
  239. /package/lib/clang/{17 → 18}/include/xsaveintrin.h +0 -0
  240. /package/lib/clang/{17 → 18}/include/xsaveoptintrin.h +0 -0
  241. /package/lib/clang/{17 → 18}/include/xsavesintrin.h +0 -0
  242. /package/lib/clang/{17 → 18}/include/xtestintrin.h +0 -0
@@ -0,0 +1,345 @@
1
+ /*===---- arm_vector_types - ARM vector type ------===
2
+ *
3
+ *
4
+ * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
+ * See https://llvm.org/LICENSE.txt for license information.
6
+ * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
+ *
8
+ *===-----------------------------------------------------------------------===
9
+ */
10
+
11
+ #if !defined(__ARM_NEON_H) && !defined(__ARM_SVE_H)
12
+ #error "This file should not be used standalone. Please include arm_neon.h or arm_sve.h instead"
13
+
14
+ #endif
15
+ #ifndef __ARM_NEON_TYPES_H
16
+ #define __ARM_NEON_TYPES_H
17
+ typedef float float32_t;
18
+ typedef __fp16 float16_t;
19
+ #ifdef __aarch64__
20
+ typedef double float64_t;
21
+ #endif
22
+
23
+ typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
24
+ typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
25
+ typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
26
+ typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
27
+ typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
28
+ typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
29
+ typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
30
+ typedef __attribute__((neon_vector_type(2))) int64_t int64x2_t;
31
+ typedef __attribute__((neon_vector_type(8))) uint8_t uint8x8_t;
32
+ typedef __attribute__((neon_vector_type(16))) uint8_t uint8x16_t;
33
+ typedef __attribute__((neon_vector_type(4))) uint16_t uint16x4_t;
34
+ typedef __attribute__((neon_vector_type(8))) uint16_t uint16x8_t;
35
+ typedef __attribute__((neon_vector_type(2))) uint32_t uint32x2_t;
36
+ typedef __attribute__((neon_vector_type(4))) uint32_t uint32x4_t;
37
+ typedef __attribute__((neon_vector_type(1))) uint64_t uint64x1_t;
38
+ typedef __attribute__((neon_vector_type(2))) uint64_t uint64x2_t;
39
+ typedef __attribute__((neon_vector_type(4))) float16_t float16x4_t;
40
+ typedef __attribute__((neon_vector_type(8))) float16_t float16x8_t;
41
+ typedef __attribute__((neon_vector_type(2))) float32_t float32x2_t;
42
+ typedef __attribute__((neon_vector_type(4))) float32_t float32x4_t;
43
+ #ifdef __aarch64__
44
+ typedef __attribute__((neon_vector_type(1))) float64_t float64x1_t;
45
+ typedef __attribute__((neon_vector_type(2))) float64_t float64x2_t;
46
+ #endif
47
+
48
+ typedef struct int8x8x2_t {
49
+ int8x8_t val[2];
50
+ } int8x8x2_t;
51
+
52
+ typedef struct int8x16x2_t {
53
+ int8x16_t val[2];
54
+ } int8x16x2_t;
55
+
56
+ typedef struct int16x4x2_t {
57
+ int16x4_t val[2];
58
+ } int16x4x2_t;
59
+
60
+ typedef struct int16x8x2_t {
61
+ int16x8_t val[2];
62
+ } int16x8x2_t;
63
+
64
+ typedef struct int32x2x2_t {
65
+ int32x2_t val[2];
66
+ } int32x2x2_t;
67
+
68
+ typedef struct int32x4x2_t {
69
+ int32x4_t val[2];
70
+ } int32x4x2_t;
71
+
72
+ typedef struct int64x1x2_t {
73
+ int64x1_t val[2];
74
+ } int64x1x2_t;
75
+
76
+ typedef struct int64x2x2_t {
77
+ int64x2_t val[2];
78
+ } int64x2x2_t;
79
+
80
+ typedef struct uint8x8x2_t {
81
+ uint8x8_t val[2];
82
+ } uint8x8x2_t;
83
+
84
+ typedef struct uint8x16x2_t {
85
+ uint8x16_t val[2];
86
+ } uint8x16x2_t;
87
+
88
+ typedef struct uint16x4x2_t {
89
+ uint16x4_t val[2];
90
+ } uint16x4x2_t;
91
+
92
+ typedef struct uint16x8x2_t {
93
+ uint16x8_t val[2];
94
+ } uint16x8x2_t;
95
+
96
+ typedef struct uint32x2x2_t {
97
+ uint32x2_t val[2];
98
+ } uint32x2x2_t;
99
+
100
+ typedef struct uint32x4x2_t {
101
+ uint32x4_t val[2];
102
+ } uint32x4x2_t;
103
+
104
+ typedef struct uint64x1x2_t {
105
+ uint64x1_t val[2];
106
+ } uint64x1x2_t;
107
+
108
+ typedef struct uint64x2x2_t {
109
+ uint64x2_t val[2];
110
+ } uint64x2x2_t;
111
+
112
+ typedef struct float16x4x2_t {
113
+ float16x4_t val[2];
114
+ } float16x4x2_t;
115
+
116
+ typedef struct float16x8x2_t {
117
+ float16x8_t val[2];
118
+ } float16x8x2_t;
119
+
120
+ typedef struct float32x2x2_t {
121
+ float32x2_t val[2];
122
+ } float32x2x2_t;
123
+
124
+ typedef struct float32x4x2_t {
125
+ float32x4_t val[2];
126
+ } float32x4x2_t;
127
+
128
+ #ifdef __aarch64__
129
+ typedef struct float64x1x2_t {
130
+ float64x1_t val[2];
131
+ } float64x1x2_t;
132
+
133
+ typedef struct float64x2x2_t {
134
+ float64x2_t val[2];
135
+ } float64x2x2_t;
136
+
137
+ #endif
138
+ typedef struct int8x8x3_t {
139
+ int8x8_t val[3];
140
+ } int8x8x3_t;
141
+
142
+ typedef struct int8x16x3_t {
143
+ int8x16_t val[3];
144
+ } int8x16x3_t;
145
+
146
+ typedef struct int16x4x3_t {
147
+ int16x4_t val[3];
148
+ } int16x4x3_t;
149
+
150
+ typedef struct int16x8x3_t {
151
+ int16x8_t val[3];
152
+ } int16x8x3_t;
153
+
154
+ typedef struct int32x2x3_t {
155
+ int32x2_t val[3];
156
+ } int32x2x3_t;
157
+
158
+ typedef struct int32x4x3_t {
159
+ int32x4_t val[3];
160
+ } int32x4x3_t;
161
+
162
+ typedef struct int64x1x3_t {
163
+ int64x1_t val[3];
164
+ } int64x1x3_t;
165
+
166
+ typedef struct int64x2x3_t {
167
+ int64x2_t val[3];
168
+ } int64x2x3_t;
169
+
170
+ typedef struct uint8x8x3_t {
171
+ uint8x8_t val[3];
172
+ } uint8x8x3_t;
173
+
174
+ typedef struct uint8x16x3_t {
175
+ uint8x16_t val[3];
176
+ } uint8x16x3_t;
177
+
178
+ typedef struct uint16x4x3_t {
179
+ uint16x4_t val[3];
180
+ } uint16x4x3_t;
181
+
182
+ typedef struct uint16x8x3_t {
183
+ uint16x8_t val[3];
184
+ } uint16x8x3_t;
185
+
186
+ typedef struct uint32x2x3_t {
187
+ uint32x2_t val[3];
188
+ } uint32x2x3_t;
189
+
190
+ typedef struct uint32x4x3_t {
191
+ uint32x4_t val[3];
192
+ } uint32x4x3_t;
193
+
194
+ typedef struct uint64x1x3_t {
195
+ uint64x1_t val[3];
196
+ } uint64x1x3_t;
197
+
198
+ typedef struct uint64x2x3_t {
199
+ uint64x2_t val[3];
200
+ } uint64x2x3_t;
201
+
202
+ typedef struct float16x4x3_t {
203
+ float16x4_t val[3];
204
+ } float16x4x3_t;
205
+
206
+ typedef struct float16x8x3_t {
207
+ float16x8_t val[3];
208
+ } float16x8x3_t;
209
+
210
+ typedef struct float32x2x3_t {
211
+ float32x2_t val[3];
212
+ } float32x2x3_t;
213
+
214
+ typedef struct float32x4x3_t {
215
+ float32x4_t val[3];
216
+ } float32x4x3_t;
217
+
218
+ #ifdef __aarch64__
219
+ typedef struct float64x1x3_t {
220
+ float64x1_t val[3];
221
+ } float64x1x3_t;
222
+
223
+ typedef struct float64x2x3_t {
224
+ float64x2_t val[3];
225
+ } float64x2x3_t;
226
+
227
+ #endif
228
+ typedef struct int8x8x4_t {
229
+ int8x8_t val[4];
230
+ } int8x8x4_t;
231
+
232
+ typedef struct int8x16x4_t {
233
+ int8x16_t val[4];
234
+ } int8x16x4_t;
235
+
236
+ typedef struct int16x4x4_t {
237
+ int16x4_t val[4];
238
+ } int16x4x4_t;
239
+
240
+ typedef struct int16x8x4_t {
241
+ int16x8_t val[4];
242
+ } int16x8x4_t;
243
+
244
+ typedef struct int32x2x4_t {
245
+ int32x2_t val[4];
246
+ } int32x2x4_t;
247
+
248
+ typedef struct int32x4x4_t {
249
+ int32x4_t val[4];
250
+ } int32x4x4_t;
251
+
252
+ typedef struct int64x1x4_t {
253
+ int64x1_t val[4];
254
+ } int64x1x4_t;
255
+
256
+ typedef struct int64x2x4_t {
257
+ int64x2_t val[4];
258
+ } int64x2x4_t;
259
+
260
+ typedef struct uint8x8x4_t {
261
+ uint8x8_t val[4];
262
+ } uint8x8x4_t;
263
+
264
+ typedef struct uint8x16x4_t {
265
+ uint8x16_t val[4];
266
+ } uint8x16x4_t;
267
+
268
+ typedef struct uint16x4x4_t {
269
+ uint16x4_t val[4];
270
+ } uint16x4x4_t;
271
+
272
+ typedef struct uint16x8x4_t {
273
+ uint16x8_t val[4];
274
+ } uint16x8x4_t;
275
+
276
+ typedef struct uint32x2x4_t {
277
+ uint32x2_t val[4];
278
+ } uint32x2x4_t;
279
+
280
+ typedef struct uint32x4x4_t {
281
+ uint32x4_t val[4];
282
+ } uint32x4x4_t;
283
+
284
+ typedef struct uint64x1x4_t {
285
+ uint64x1_t val[4];
286
+ } uint64x1x4_t;
287
+
288
+ typedef struct uint64x2x4_t {
289
+ uint64x2_t val[4];
290
+ } uint64x2x4_t;
291
+
292
+ typedef struct float16x4x4_t {
293
+ float16x4_t val[4];
294
+ } float16x4x4_t;
295
+
296
+ typedef struct float16x8x4_t {
297
+ float16x8_t val[4];
298
+ } float16x8x4_t;
299
+
300
+ typedef struct float32x2x4_t {
301
+ float32x2_t val[4];
302
+ } float32x2x4_t;
303
+
304
+ typedef struct float32x4x4_t {
305
+ float32x4_t val[4];
306
+ } float32x4x4_t;
307
+
308
+ #ifdef __aarch64__
309
+ typedef struct float64x1x4_t {
310
+ float64x1_t val[4];
311
+ } float64x1x4_t;
312
+
313
+ typedef struct float64x2x4_t {
314
+ float64x2_t val[4];
315
+ } float64x2x4_t;
316
+
317
+ #endif
318
+ typedef __attribute__((neon_vector_type(4))) bfloat16_t bfloat16x4_t;
319
+ typedef __attribute__((neon_vector_type(8))) bfloat16_t bfloat16x8_t;
320
+
321
+ typedef struct bfloat16x4x2_t {
322
+ bfloat16x4_t val[2];
323
+ } bfloat16x4x2_t;
324
+
325
+ typedef struct bfloat16x8x2_t {
326
+ bfloat16x8_t val[2];
327
+ } bfloat16x8x2_t;
328
+
329
+ typedef struct bfloat16x4x3_t {
330
+ bfloat16x4_t val[3];
331
+ } bfloat16x4x3_t;
332
+
333
+ typedef struct bfloat16x8x3_t {
334
+ bfloat16x8_t val[3];
335
+ } bfloat16x8x3_t;
336
+
337
+ typedef struct bfloat16x4x4_t {
338
+ bfloat16x4_t val[4];
339
+ } bfloat16x4x4_t;
340
+
341
+ typedef struct bfloat16x8x4_t {
342
+ bfloat16x8_t val[4];
343
+ } bfloat16x8x4_t;
344
+
345
+ #endif // __ARM_NEON_TYPES_H
@@ -15,8 +15,12 @@
15
15
  #define __AVX2INTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("avx2"), __min_vector_width__(256)))
19
- #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx2"), __min_vector_width__(128)))
18
+ #define __DEFAULT_FN_ATTRS256 \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx2,no-evex512"), __min_vector_width__(256)))
21
+ #define __DEFAULT_FN_ATTRS128 \
22
+ __attribute__((__always_inline__, __nodebug__, \
23
+ __target__("avx2,no-evex512"), __min_vector_width__(128)))
20
24
 
21
25
  /* SSE4 Multiple Packed Sums of Absolute Difference. */
22
26
  /// Computes sixteen sum of absolute difference (SAD) operations on sets of
@@ -1307,6 +1311,23 @@ _mm256_min_epu32(__m256i __a, __m256i __b)
1307
1311
  return (__m256i)__builtin_elementwise_min((__v8su)__a, (__v8su)__b);
1308
1312
  }
1309
1313
 
1314
+ /// Creates a 32-bit integer mask from the most significant bit of each byte
1315
+ /// in the 256-bit integer vector in \a __a and returns the result.
1316
+ ///
1317
+ /// \code{.operation}
1318
+ /// FOR i := 0 TO 31
1319
+ /// j := i*8
1320
+ /// result[i] := __a[j+7]
1321
+ /// ENDFOR
1322
+ /// \endcode
1323
+ ///
1324
+ /// \headerfile <immintrin.h>
1325
+ ///
1326
+ /// This intrinsic corresponds to the \c VPMOVMSKB instruction.
1327
+ ///
1328
+ /// \param __a
1329
+ /// A 256-bit integer vector containing the source bytes.
1330
+ /// \returns The 32-bit integer mask.
1310
1331
  static __inline__ int __DEFAULT_FN_ATTRS256
1311
1332
  _mm256_movemask_epi8(__m256i __a)
1312
1333
  {
@@ -2962,7 +2983,7 @@ _mm256_xor_si256(__m256i __a, __m256i __b)
2962
2983
  /// A pointer to the 32-byte aligned memory containing the vector to load.
2963
2984
  /// \returns A 256-bit integer vector loaded from memory.
2964
2985
  static __inline__ __m256i __DEFAULT_FN_ATTRS256
2965
- _mm256_stream_load_si256(__m256i const *__V)
2986
+ _mm256_stream_load_si256(const void *__V)
2966
2987
  {
2967
2988
  typedef __v4di __v4di_aligned __attribute__((aligned(32)));
2968
2989
  return (__m256i)__builtin_nontemporal_load((const __v4di_aligned *)__V);
@@ -20,10 +20,11 @@ typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
20
20
  typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
21
21
 
22
22
  #define __DEFAULT_FN_ATTRS512 \
23
- __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
23
+ __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16,evex512"), \
24
24
  __min_vector_width__(512)))
25
25
  #define __DEFAULT_FN_ATTRS \
26
- __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16")))
26
+ __attribute__((__always_inline__, __nodebug__, \
27
+ __target__("avx512bf16,no-evex512")))
27
28
 
28
29
  /// Convert One BF16 Data to One Single Float Data.
29
30
  ///
@@ -15,7 +15,10 @@
15
15
  #define __AVX512BITALGINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512bitalg"), __min_vector_width__(512)))
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx512bitalg,evex512"), \
21
+ __min_vector_width__(512)))
19
22
 
20
23
  static __inline__ __m512i __DEFAULT_FN_ATTRS
21
24
  _mm512_popcnt_epi16(__m512i __A)
@@ -18,8 +18,12 @@ typedef unsigned int __mmask32;
18
18
  typedef unsigned long long __mmask64;
19
19
 
20
20
  /* Define the default attributes for the functions in this file. */
21
- #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw"), __min_vector_width__(512)))
22
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512bw")))
21
+ #define __DEFAULT_FN_ATTRS512 \
22
+ __attribute__((__always_inline__, __nodebug__, \
23
+ __target__("avx512bw,evex512"), __min_vector_width__(512)))
24
+ #define __DEFAULT_FN_ATTRS \
25
+ __attribute__((__always_inline__, __nodebug__, \
26
+ __target__("avx512bw,no-evex512")))
23
27
 
24
28
  static __inline __mmask32 __DEFAULT_FN_ATTRS
25
29
  _knot_mask32(__mmask32 __M)
@@ -27,9 +31,7 @@ _knot_mask32(__mmask32 __M)
27
31
  return __builtin_ia32_knotsi(__M);
28
32
  }
29
33
 
30
- static __inline __mmask64 __DEFAULT_FN_ATTRS
31
- _knot_mask64(__mmask64 __M)
32
- {
34
+ static __inline __mmask64 __DEFAULT_FN_ATTRS _knot_mask64(__mmask64 __M) {
33
35
  return __builtin_ia32_knotdi(__M);
34
36
  }
35
37
 
@@ -39,9 +41,8 @@ _kand_mask32(__mmask32 __A, __mmask32 __B)
39
41
  return (__mmask32)__builtin_ia32_kandsi((__mmask32)__A, (__mmask32)__B);
40
42
  }
41
43
 
42
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
43
- _kand_mask64(__mmask64 __A, __mmask64 __B)
44
- {
44
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kand_mask64(__mmask64 __A,
45
+ __mmask64 __B) {
45
46
  return (__mmask64)__builtin_ia32_kanddi((__mmask64)__A, (__mmask64)__B);
46
47
  }
47
48
 
@@ -51,9 +52,8 @@ _kandn_mask32(__mmask32 __A, __mmask32 __B)
51
52
  return (__mmask32)__builtin_ia32_kandnsi((__mmask32)__A, (__mmask32)__B);
52
53
  }
53
54
 
54
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
55
- _kandn_mask64(__mmask64 __A, __mmask64 __B)
56
- {
55
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kandn_mask64(__mmask64 __A,
56
+ __mmask64 __B) {
57
57
  return (__mmask64)__builtin_ia32_kandndi((__mmask64)__A, (__mmask64)__B);
58
58
  }
59
59
 
@@ -63,9 +63,8 @@ _kor_mask32(__mmask32 __A, __mmask32 __B)
63
63
  return (__mmask32)__builtin_ia32_korsi((__mmask32)__A, (__mmask32)__B);
64
64
  }
65
65
 
66
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
67
- _kor_mask64(__mmask64 __A, __mmask64 __B)
68
- {
66
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kor_mask64(__mmask64 __A,
67
+ __mmask64 __B) {
69
68
  return (__mmask64)__builtin_ia32_kordi((__mmask64)__A, (__mmask64)__B);
70
69
  }
71
70
 
@@ -75,9 +74,8 @@ _kxnor_mask32(__mmask32 __A, __mmask32 __B)
75
74
  return (__mmask32)__builtin_ia32_kxnorsi((__mmask32)__A, (__mmask32)__B);
76
75
  }
77
76
 
78
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
79
- _kxnor_mask64(__mmask64 __A, __mmask64 __B)
80
- {
77
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxnor_mask64(__mmask64 __A,
78
+ __mmask64 __B) {
81
79
  return (__mmask64)__builtin_ia32_kxnordi((__mmask64)__A, (__mmask64)__B);
82
80
  }
83
81
 
@@ -87,9 +85,8 @@ _kxor_mask32(__mmask32 __A, __mmask32 __B)
87
85
  return (__mmask32)__builtin_ia32_kxorsi((__mmask32)__A, (__mmask32)__B);
88
86
  }
89
87
 
90
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
91
- _kxor_mask64(__mmask64 __A, __mmask64 __B)
92
- {
88
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxor_mask64(__mmask64 __A,
89
+ __mmask64 __B) {
93
90
  return (__mmask64)__builtin_ia32_kxordi((__mmask64)__A, (__mmask64)__B);
94
91
  }
95
92
 
@@ -112,14 +109,12 @@ _kortest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
112
109
  }
113
110
 
114
111
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
115
- _kortestc_mask64_u8(__mmask64 __A, __mmask64 __B)
116
- {
112
+ _kortestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
117
113
  return (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
118
114
  }
119
115
 
120
116
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
121
- _kortestz_mask64_u8(__mmask64 __A, __mmask64 __B)
122
- {
117
+ _kortestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
123
118
  return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
124
119
  }
125
120
 
@@ -148,14 +143,12 @@ _ktest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
148
143
  }
149
144
 
150
145
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
151
- _ktestc_mask64_u8(__mmask64 __A, __mmask64 __B)
152
- {
146
+ _ktestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
153
147
  return (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
154
148
  }
155
149
 
156
150
  static __inline__ unsigned char __DEFAULT_FN_ATTRS
157
- _ktestz_mask64_u8(__mmask64 __A, __mmask64 __B)
158
- {
151
+ _ktestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
159
152
  return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
160
153
  }
161
154
 
@@ -171,9 +164,8 @@ _kadd_mask32(__mmask32 __A, __mmask32 __B)
171
164
  return (__mmask32)__builtin_ia32_kaddsi((__mmask32)__A, (__mmask32)__B);
172
165
  }
173
166
 
174
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
175
- _kadd_mask64(__mmask64 __A, __mmask64 __B)
176
- {
167
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kadd_mask64(__mmask64 __A,
168
+ __mmask64 __B) {
177
169
  return (__mmask64)__builtin_ia32_kadddi((__mmask64)__A, (__mmask64)__B);
178
170
  }
179
171
 
@@ -214,8 +206,7 @@ _load_mask32(__mmask32 *__A) {
214
206
  return (__mmask32)__builtin_ia32_kmovd(*(__mmask32 *)__A);
215
207
  }
216
208
 
217
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
218
- _load_mask64(__mmask64 *__A) {
209
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _load_mask64(__mmask64 *__A) {
219
210
  return (__mmask64)__builtin_ia32_kmovq(*(__mmask64 *)__A);
220
211
  }
221
212
 
@@ -224,8 +215,8 @@ _store_mask32(__mmask32 *__A, __mmask32 __B) {
224
215
  *(__mmask32 *)__A = __builtin_ia32_kmovd((__mmask32)__B);
225
216
  }
226
217
 
227
- static __inline__ void __DEFAULT_FN_ATTRS
228
- _store_mask64(__mmask64 *__A, __mmask64 __B) {
218
+ static __inline__ void __DEFAULT_FN_ATTRS _store_mask64(__mmask64 *__A,
219
+ __mmask64 __B) {
229
220
  *(__mmask64 *)__A = __builtin_ia32_kmovq((__mmask64)__B);
230
221
  }
231
222
 
@@ -1714,9 +1705,8 @@ _mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
1714
1705
  (__v64qi) _mm512_setzero_si512());
1715
1706
  }
1716
1707
 
1717
- static __inline__ __mmask64 __DEFAULT_FN_ATTRS
1718
- _mm512_kunpackd (__mmask64 __A, __mmask64 __B)
1719
- {
1708
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _mm512_kunpackd(__mmask64 __A,
1709
+ __mmask64 __B) {
1720
1710
  return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
1721
1711
  (__mmask64) __B);
1722
1712
  }
@@ -15,7 +15,9 @@
15
15
  #define __AVX512CDINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512cd"), __min_vector_width__(512)))
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx512cd,evex512"), __min_vector_width__(512)))
19
21
 
20
22
  static __inline__ __m512i __DEFAULT_FN_ATTRS
21
23
  _mm512_conflict_epi64 (__m512i __A)
@@ -15,8 +15,10 @@
15
15
  #define __AVX512DQINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq"), __min_vector_width__(512)))
19
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512dq")))
18
+ #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq,evex512"), __min_vector_width__(512)))
19
+ #define __DEFAULT_FN_ATTRS \
20
+ __attribute__((__always_inline__, __nodebug__, \
21
+ __target__("avx512dq,no-evex512")))
20
22
 
21
23
  static __inline __mmask8 __DEFAULT_FN_ATTRS
22
24
  _knot_mask8(__mmask8 __M)
@@ -167,9 +167,13 @@ typedef enum
167
167
  } _MM_MANTISSA_SIGN_ENUM;
168
168
 
169
169
  /* Define the default attributes for the functions in this file. */
170
- #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), __min_vector_width__(512)))
171
- #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), __min_vector_width__(128)))
172
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512f")))
170
+ #define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,evex512"), __min_vector_width__(512)))
171
+ #define __DEFAULT_FN_ATTRS128 \
172
+ __attribute__((__always_inline__, __nodebug__, \
173
+ __target__("avx512f,no-evex512"), __min_vector_width__(128)))
174
+ #define __DEFAULT_FN_ATTRS \
175
+ __attribute__((__always_inline__, __nodebug__, \
176
+ __target__("avx512f,no-evex512")))
173
177
 
174
178
  /* Create vectors with repeated elements */
175
179
 
@@ -22,13 +22,15 @@ typedef _Float16 __m512h_u __attribute__((__vector_size__(64), __aligned__(1)));
22
22
 
23
23
  /* Define the default attributes for the functions in this file. */
24
24
  #define __DEFAULT_FN_ATTRS512 \
25
- __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
26
- __min_vector_width__(512)))
25
+ __attribute__((__always_inline__, __nodebug__, \
26
+ __target__("avx512fp16,evex512"), __min_vector_width__(512)))
27
27
  #define __DEFAULT_FN_ATTRS256 \
28
- __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
28
+ __attribute__((__always_inline__, __nodebug__, \
29
+ __target__("avx512fp16,no-evex512"), \
29
30
  __min_vector_width__(256)))
30
31
  #define __DEFAULT_FN_ATTRS128 \
31
- __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
32
+ __attribute__((__always_inline__, __nodebug__, \
33
+ __target__("avx512fp16,no-evex512"), \
32
34
  __min_vector_width__(128)))
33
35
 
34
36
  static __inline__ _Float16 __DEFAULT_FN_ATTRS512 _mm512_cvtsh_h(__m512h __a) {
@@ -15,7 +15,9 @@
15
15
  #define __IFMAINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma"), __min_vector_width__(512)))
18
+ #define __DEFAULT_FN_ATTRS \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx512ifma,evex512"), __min_vector_width__(512)))
19
21
 
20
22
  static __inline__ __m512i __DEFAULT_FN_ATTRS
21
23
  _mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
@@ -15,8 +15,14 @@
15
15
  #define __IFMAVLINTRIN_H
16
16
 
17
17
  /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma,avx512vl"), __min_vector_width__(128)))
19
- #define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma,avx512vl"), __min_vector_width__(256)))
18
+ #define __DEFAULT_FN_ATTRS128 \
19
+ __attribute__((__always_inline__, __nodebug__, \
20
+ __target__("avx512ifma,avx512vl,no-evex512"), \
21
+ __min_vector_width__(128)))
22
+ #define __DEFAULT_FN_ATTRS256 \
23
+ __attribute__((__always_inline__, __nodebug__, \
24
+ __target__("avx512ifma,avx512vl,no-evex512"), \
25
+ __min_vector_width__(256)))
20
26
 
21
27
  #define _mm_madd52hi_epu64(X, Y, Z) \
22
28
  ((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
@@ -14,9 +14,6 @@
14
14
  #ifndef __AVX512PFINTRIN_H
15
15
  #define __AVX512PFINTRIN_H
16
16
 
17
- /* Define the default attributes for the functions in this file. */
18
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512pf")))
19
-
20
17
  #define _mm512_mask_prefetch_i32gather_pd(index, mask, addr, scale, hint) \
21
18
  __builtin_ia32_gatherpfdpd((__mmask8)(mask), (__v8si)(__m256i)(index), \
22
19
  (void const *)(addr), (int)(scale), \
@@ -92,6 +89,4 @@
92
89
  __builtin_ia32_scatterpfqps((__mmask8)(mask), (__v8di)(__m512i)(index), \
93
90
  (void *)(addr), (int)(scale), (int)(hint))
94
91
 
95
- #undef __DEFAULT_FN_ATTRS
96
-
97
92
  #endif