Lines Matching defs:simd

42 // class template simd [simd.class]
43 // TODO: implement simd class
45 class simd : public __simd_int_operators<simd<_Tp, _Abi>, __simd_operations<_Tp, _Abi>, is_integral_v<_Tp>> {
51 friend class __simd_int_operators<simd, _Impl, true>;
61 _LIBCPP_HIDE_FROM_ABI simd() noexcept = default;
67 explicit _LIBCPP_HIDE_FROM_ABI simd(const _Storage& __s, __storage_tag_t) : __s_(__s) {}
71 _LIBCPP_HIDE_FROM_ABI simd(_Up&& __v) noexcept : __s_(_Impl::__broadcast(static_cast<value_type>(__v))) {}
78 _LIBCPP_HIDE_FROM_ABI simd(const simd<_Up, simd_abi::fixed_size<size()>>& __v) noexcept {
86 explicit _LIBCPP_HIDE_FROM_ABI simd(_Generator&& __g) noexcept
91 _LIBCPP_HIDE_FROM_ABI simd(const _Up* __mem, _Flags) {
92 _Impl::__load(__s_, _Flags::template __apply<simd>(__mem));
98 _Impl::__load(__s_, _Flags::template __apply<simd>(__mem));
103 _Impl::__store(__s_, _Flags::template __apply<simd>(__mem));
106 // scalar access [simd.subscr]
110 // simd unary operators
111 _LIBCPP_HIDE_FROM_ABI simd& operator++() noexcept {
116 _LIBCPP_HIDE_FROM_ABI simd operator++(int) noexcept {
117 simd __r = *this;
122 _LIBCPP_HIDE_FROM_ABI simd& operator--() noexcept {
127 _LIBCPP_HIDE_FROM_ABI simd operator--(int) noexcept {
128 simd __r = *this;
137 _LIBCPP_HIDE_FROM_ABI simd operator+() const noexcept { return *this; }
139 _LIBCPP_HIDE_FROM_ABI simd operator-() const noexcept { return simd(_Impl::__unary_minus(__s_), __storage_tag); }
143 inline constexpr bool is_simd_v<simd<_Tp, _Abi>> = true;
146 using native_simd = simd<_Tp, simd_abi::native<_Tp>>;
149 using fixed_size_simd = simd<_Tp, simd_abi::fixed_size<_Np>>;