Add missing constructors for fallback __simd_storage

This commit is contained in:
Luke Street 2021-04-18 22:31:18 -04:00
parent ec43f653a7
commit 4fa2335258
1 changed files with 4 additions and 0 deletions

View File

@ -1518,6 +1518,10 @@ public:
const __simd_storage<_Up, __simd_abi<_StorageKind::_Array, __Unum_element>>& other) {
std::copy(other.__native().begin(), other.__native().end(), __storage_.begin());
}
template <typename... _T2, typename std::enable_if_t<sizeof...(_T2) == __num_element, int> = 0>
constexpr __simd_storage(_T2... values) : __storage_{values...} {}
template <typename std::enable_if_t<__num_element == 4, int> = 0>
constexpr __simd_storage(_Tp __rv) : __storage_{__rv, __rv, __rv, __rv} {}
constexpr const storage_type& __native() const { return __storage_; }
};