diff --git a/include/xsimd/config/xsimd_arch.hpp b/include/xsimd/config/xsimd_arch.hpp index d328f2840..37f885e74 100644 --- a/include/xsimd/config/xsimd_arch.hpp +++ b/include/xsimd/config/xsimd_arch.hpp @@ -57,7 +57,7 @@ namespace xsimd { }; - template + template struct is_sorted; template <> @@ -65,14 +65,14 @@ namespace xsimd { }; - template - struct is_sorted : std::true_type + template + struct is_sorted : std::true_type { }; - template - struct is_sorted - : std::conditional<(A0::version() >= A1::version()), is_sorted, + template + struct is_sorted + : std::conditional<(V0 >= V1), is_sorted, std::false_type>::type { }; @@ -111,7 +111,7 @@ namespace xsimd struct arch_list { #ifndef NDEBUG - static_assert(detail::is_sorted::value, + static_assert(detail::is_sorted::value, "architecture list must be sorted by version"); #endif @@ -190,13 +190,13 @@ namespace xsimd struct unsupported { }; - using all_x86_architectures = arch_list, avx2, fma3, avx, fma4, fma3, sse4_2, sse4_1, /*sse4a,*/ ssse3, sse3, sse2>; + using all_x86_architectures = arch_list, avx2, fma3, avx, fma4, fma3, sse4_2, sse4_1, /*sse4a,*/ ssse3, sse3, sse2>; using all_sve_architectures = arch_list, detail::sve<256>, detail::sve<128>>; using all_rvv_architectures = arch_list, detail::rvv<256>, detail::rvv<128>>; using all_arm_architectures = typename detail::join>::type; using all_riscv_architectures = all_rvv_architectures; using all_wasm_architectures = arch_list; - using all_architectures = typename detail::join::type; + using all_architectures = typename detail::join::type; using supported_architectures = typename detail::supported::type; diff --git a/include/xsimd/types/xsimd_avx512ifma_register.hpp b/include/xsimd/types/xsimd_avx512ifma_register.hpp index c3ac1f5c2..e489a9429 100644 --- a/include/xsimd/types/xsimd_avx512ifma_register.hpp +++ b/include/xsimd/types/xsimd_avx512ifma_register.hpp @@ -26,7 +26,7 @@ namespace xsimd { static constexpr bool supported() noexcept { return XSIMD_WITH_AVX512IFMA; } static constexpr bool available() noexcept { return true; } - static constexpr unsigned version() noexcept { return generic::version(3, 4, 0); } + static constexpr unsigned version() noexcept { return generic::version(3, 5, 0); } static constexpr char const* name() noexcept { return "avx512ifma"; } }; diff --git a/include/xsimd/types/xsimd_avx512vbmi_register.hpp b/include/xsimd/types/xsimd_avx512vbmi_register.hpp index 67b5dcd96..19ff744d7 100644 --- a/include/xsimd/types/xsimd_avx512vbmi_register.hpp +++ b/include/xsimd/types/xsimd_avx512vbmi_register.hpp @@ -26,7 +26,7 @@ namespace xsimd { static constexpr bool supported() noexcept { return XSIMD_WITH_AVX512VBMI; } static constexpr bool available() noexcept { return true; } - static constexpr unsigned version() noexcept { return generic::version(3, 5, 0); } + static constexpr unsigned version() noexcept { return generic::version(3, 6, 0); } static constexpr char const* name() noexcept { return "avx512vbmi"; } }; diff --git a/include/xsimd/types/xsimd_avx512vnni_register.hpp b/include/xsimd/types/xsimd_avx512vnni_register.hpp index 178112432..c276fb007 100644 --- a/include/xsimd/types/xsimd_avx512vnni_register.hpp +++ b/include/xsimd/types/xsimd_avx512vnni_register.hpp @@ -26,7 +26,7 @@ namespace xsimd { static constexpr bool supported() noexcept { return XSIMD_WITH_AVX512VNNI; } static constexpr bool available() noexcept { return true; } - static constexpr unsigned version() noexcept { return generic::version(3, 6, 0); } + static constexpr unsigned version() noexcept { return generic::version(3, 7, 0); } static constexpr char const* name() noexcept { return "avx512vnni"; } }; diff --git a/include/xsimd/types/xsimd_sve_register.hpp b/include/xsimd/types/xsimd_sve_register.hpp index 1ae678684..031ec431c 100644 --- a/include/xsimd/types/xsimd_sve_register.hpp +++ b/include/xsimd/types/xsimd_sve_register.hpp @@ -36,7 +36,7 @@ namespace xsimd static constexpr bool available() noexcept { return true; } static constexpr bool requires_alignment() noexcept { return true; } static constexpr std::size_t alignment() noexcept { return 16; } - static constexpr unsigned version() noexcept { return generic::version(9, 0, 0); } + static constexpr unsigned version() noexcept { return generic::version(9, Width/32, 0); } static constexpr char const* name() noexcept { return "arm64+sve"; } }; }