template<FieldWidth WIDTH>
SIMDTraits<SimFloatImpl<float>, WIDTH> struct

Public types

using Underlying = SIMDTraits<float, WIDTH>
using VecType = typename Underlying::VecType

Public static functions

static auto load(const SimFloatImpl<float>* ptr) -> FORCE_INLINE VecType
static auto store(SimFloatImpl<float>* ptr, WideMaskType mask, VecType val) -> FORCE_INLINE void
static auto stream(SimFloatImpl<float>* ptr, WideMaskType mask, VecType val) -> FORCE_INLINE void
static auto set1(float val) -> FORCE_INLINE VecType
static auto set1(SimFloatImpl<float> val) -> FORCE_INLINE VecType
static auto add(VecType a, VecType b) -> FORCE_INLINE VecType
static auto sub(VecType a, VecType b) -> FORCE_INLINE VecType
static auto mul(VecType a, VecType b) -> FORCE_INLINE VecType
static auto div(VecType a, VecType b) -> FORCE_INLINE VecType
static auto GT(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto LT(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto EQ(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto NEQ(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto GE(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto LE(VecType a, VecType b) -> FORCE_INLINE FieldMask<SimFloatImpl<float>, VecType, WIDTH>
static auto Blend(VecType a, VecType b) -> FORCE_INLINE VecType
static auto min(VecType a, VecType b) -> FORCE_INLINE VecType
static auto max(VecType a, VecType b) -> FORCE_INLINE VecType
static auto abs(VecType a) -> FORCE_INLINE VecType
static auto GenerateCountMask(int32_t count) -> FORCE_INLINE WideMaskType
static auto StoreFlagsOr(int32_t* flagsPtr, int32_t value) -> FORCE_INLINE void