@@ -33,7 +33,6 @@ namespace xsimd
3333 {
3434 static constexpr bool supported () noexcept { return false ; }
3535 static constexpr bool available () noexcept { return false ; }
36- static constexpr unsigned version () noexcept { return 0 ; }
3736 static constexpr std::size_t alignment () noexcept { return 0 ; }
3837 static constexpr bool requires_alignment () noexcept { return false ; }
3938 static constexpr char const * name () noexcept { return " <none>" ; }
@@ -57,26 +56,6 @@ namespace xsimd
5756 {
5857 };
5958
60- template <unsigned ... Vals>
61- struct is_sorted ;
62-
63- template <>
64- struct is_sorted <> : std::true_type
65- {
66- };
67-
68- template <unsigned Val>
69- struct is_sorted <Val> : std::true_type
70- {
71- };
72-
73- template <unsigned V0, unsigned V1, unsigned ... Vals>
74- struct is_sorted <V0, V1, Vals...>
75- : std::conditional<(V0 >= V1), is_sorted<V1, Vals...>,
76- std::false_type>::type
77- {
78- };
79-
8059 template <typename T>
8160 inline constexpr T max_of (T value) noexcept
8261 {
@@ -106,15 +85,10 @@ namespace xsimd
10685
10786 } // namespace detail
10887
109- // An arch_list is a list of architectures, sorted by version number .
88+ // An arch_list is a list of architectures.
11089 template <class ... Archs>
11190 struct arch_list
11291 {
113- #ifndef NDEBUG
114- static_assert (detail::is_sorted<Archs::version()...>::value,
115- "architecture list must be sorted by version");
116- #endif
117-
11892 using best = typename detail::head<Archs...>::type;
11993
12094 template <class Arch >
0 commit comments