-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
needs discussionNeeds discussion in the paperNeeds discussion in the paper
Milestone
Description
Given simd<T, A> where T is an scoped enum (U is a shorthand for std::underlying_type_t<T>):
-
mask_typeissimd<U, A>::mask_type - implicit broadcast ctor from
T - explicit cvt ctor from
simd<U, A>(enables explicit broadcast fromUandint) - P????: explicit cvt ctor from
simd<T1, A1>, requiressimd_size_v<T, A> == simd_size_v<T1, A1> - generator ctor, where generator return type must be
T - explicit load ctor and member function from
const T*andconst U* - store member function to
T*andU* - subscript access to elements of
T - explicit conversion operator to
simd<U, A> - comparison operators
==,!=,<,<=,>, and>=returningmask_type- one of the operands has to be
simd<T, A>, the other operand has to be convertible tosimd<U, A>(which includessimd<T, A>) - program-defined non-member overloads of these operators take precedence
- one of the operands has to be
-
operator?:(mask_type, const simd<T, A>&, const simd<T, A>&)- blends two objects of type
simd<T, A>(one operand can beT, because of the implicit conversion) - program-defined non-member overloads of the
mask_typeconditional operator take precedence
- blends two objects of type
- all constructors and member functions are
constexprexcept loads and stores - not defined: (can be provided by program-defined overloads)
- compound assignment
- increment and decrement
- unary and binary (except comparison) operators
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
needs discussionNeeds discussion in the paperNeeds discussion in the paper