template<class U> constexpr basic_simd(U&&) noexcept;
template<class U, class UAbi>
constexpr explicit(see below) basic_simd(const basic_simd<U, UAbi>& x) noexcept;
template<class G> constexpr explicit basic_simd(G&& gen) noexcept;
template<class R, class... Flags>
constexpr basic_simd(R&& r, simd_flags<Flags...> = {});
template<class R, class... Flags>
constexpr basic_simd(R&& r, const mask_type& mask, simd_flags<Flags...> = {});
template<class R, class... Ts>
basic_simd(R&& r, Ts...) -> see below;