template<simd-vec-type V> constexpr V byteswap(const V& v) noexcept;
template<simd-integral V> constexpr V bit_reverse(const V& v) noexcept;
template<simd-vec-type V> constexpr V bit_ceil(const V& v);
template<simd-vec-type V> constexpr V bit_floor(const V& v) noexcept;
template<simd-vec-type V>
constexpr typename V::mask_type has_single_bit(const V& v) noexcept;
template<simd-integral VX, simd-integral VS>
constexpr VX shl(const VX& x, const VS& s) noexcept;
template<simd-integral VX, simd-integral VS>
constexpr VX shr(const VX& x, const VS& s) noexcept;
template<simd-integral V, class S>
constexpr V shl(const V& x, S s) noexcept;
template<simd-integral V, class S>
constexpr V shr(const V& x, S s) noexcept;
template<simd-vec-type V0, simd-vec-type V1>
constexpr V0 rotl(const V0& v0, const V1& v1) noexcept;
template<simd-vec-type V0, simd-vec-type V1>
constexpr V0 rotr(const V0& v0, const V1& v1) noexcept;
template<simd-integral V0, simd-integral V1>
constexpr V0 bit_repeat(const V0& v0, const V1& v1);
template<simd-vec-type V> constexpr V rotl(const V& v, int s) noexcept;
template<simd-vec-type V> constexpr V rotr(const V& v, int s) noexcept;
template<simd-integral V> constexpr V bit_repeat(const V& v, int l);
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> bit_width(const V& v) noexcept;
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_zero(const V& v) noexcept;
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countl_one(const V& v) noexcept;
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_zero(const V& v) noexcept;
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> countr_one(const V& v) noexcept;
template<simd-vec-type V>
constexpr rebind_t<make_signed_t<typename V::value_type>, V> popcount(const V& v) noexcept;
template<simd-integral V>
constexpr V bit_compress(const V& v, const V& m) noexcept;
template<simd-integral V>
constexpr V bit_expand(const V& v, const V& m) noexcept;
template<simd-integral V>
constexpr V bit_compress(const V& v, typename V::value_type m) noexcept;
template<simd-integral V>
constexpr V bit_expand(const V& v, typename V::value_type m) noexcept;