|
#define | HWY_SVE_IS_POW2 1 |
|
#define | HWY_SVE_FOREACH_U08(X_MACRO, NAME, OP) X_MACRO(uint, u, 8, 8, NAME, OP) |
|
#define | HWY_SVE_FOREACH_U16(X_MACRO, NAME, OP) X_MACRO(uint, u, 16, 8, NAME, OP) |
|
#define | HWY_SVE_FOREACH_U32(X_MACRO, NAME, OP) X_MACRO(uint, u, 32, 16, NAME, OP) |
|
#define | HWY_SVE_FOREACH_U64(X_MACRO, NAME, OP) X_MACRO(uint, u, 64, 32, NAME, OP) |
|
#define | HWY_SVE_FOREACH_I08(X_MACRO, NAME, OP) X_MACRO(int, s, 8, 8, NAME, OP) |
|
#define | HWY_SVE_FOREACH_I16(X_MACRO, NAME, OP) X_MACRO(int, s, 16, 8, NAME, OP) |
|
#define | HWY_SVE_FOREACH_I32(X_MACRO, NAME, OP) X_MACRO(int, s, 32, 16, NAME, OP) |
|
#define | HWY_SVE_FOREACH_I64(X_MACRO, NAME, OP) X_MACRO(int, s, 64, 32, NAME, OP) |
|
#define | HWY_SVE_FOREACH_F16(X_MACRO, NAME, OP) X_MACRO(float, f, 16, 16, NAME, OP) |
|
#define | HWY_SVE_FOREACH_F32(X_MACRO, NAME, OP) X_MACRO(float, f, 32, 16, NAME, OP) |
|
#define | HWY_SVE_FOREACH_F64(X_MACRO, NAME, OP) X_MACRO(float, f, 64, 32, NAME, OP) |
|
#define | HWY_SVE_FOREACH_U(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_I(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_F(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UI08(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UI16(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UI32(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UI64(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UIF3264(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_UI(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH_IF(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_FOREACH(X_MACRO, NAME, OP) |
|
#define | HWY_SVE_T(BASE, BITS) BASE##BITS##_t |
|
#define | HWY_SVE_D(BASE, BITS, N, POW2) Simd<HWY_SVE_T(BASE, BITS), N, POW2> |
|
#define | HWY_SVE_V(BASE, BITS) sv##BASE##BITS##_t |
|
#define | HWY_SPECIALIZE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPV(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGV(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPVN(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGVN(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPVV(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGVV(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGVVV(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_ALL_PTRUE(BITS) svptrue_pat_b##BITS(SV_ALL) |
|
#define | HWY_SVE_PTRUE(BITS) HWY_SVE_ALL_PTRUE(BITS) |
|
#define | HWY_SVE_FIRSTN(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_WRAP_PTRUE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SET(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_UNDEFINED(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_CAST_NOP(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_CAST(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPVN_SWAP(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPVV_SWAP(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_NATIVE_POPCNT |
|
#define | HWY_SVE_POPCNT(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_RETV_ARGPVN_MASK(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SHIFT_N(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SHIFT(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_NATIVE_I64MULLO |
|
#define | HWY_SVE_FMA(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_COUNT_TRUE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_COUNT_TRUE_FULL(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_IF_THEN_ELSE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_COMPARE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_COMPARE_N(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_IF_VEC(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_LOAD(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_MASKED_LOAD(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_LOAD_DUP128(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_STORE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_BLENDED_STORE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SCATTER_OFFSET(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SCATTER_INDEX(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_GATHER_OFFSET(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_GATHER_INDEX(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_NATIVE_LOAD_STORE_INTERLEAVED |
|
#define | HWY_SVE_LOAD2(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_LOAD3(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_LOAD4(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_STORE2(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_STORE3(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_STORE4(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_PROMOTE_TO(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_CONCAT_EVERY_SECOND(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_SPLICE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_CONVERT(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_IOTA(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_EXT(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_REDUCE_ADD(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_REDUCE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_GET_LANE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_ODD_EVEN(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_TABLE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_REVERSE(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_COMPRESS(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_BROADCAST(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_MUL_EVEN(BASE, CHAR, BITS, HALF, NAME, OP) |
|
#define | HWY_SVE_DUP(BASE, CHAR, BITS, HALF, NAME, OP) |
|
|
| HWY_BEFORE_NAMESPACE () |
|
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::AllHardwareLanes (hwy::SizeTag< 1 >) |
|
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::AllHardwareLanes (hwy::SizeTag< 2 >) |
|
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::AllHardwareLanes (hwy::SizeTag< 4 >) |
|
HWY_INLINE size_t | hwy::HWY_NAMESPACE::detail::AllHardwareLanes (hwy::SizeTag< 8 >) |
|
template<typename T , size_t N, int kPow2> |
HWY_API constexpr size_t | hwy::HWY_NAMESPACE::Lanes (Simd< T, N, kPow2 >) |
|
| hwy::HWY_NAMESPACE::detail::HWY_SVE_FOREACH (HWY_SVE_WRAP_PTRUE, PTrue, ptrue) HWY_API svbool_t PFalse() |
|
template<class D > |
svbool_t | hwy::HWY_NAMESPACE::detail::MakeMask (D d) |
|
template<size_t N, int kPow2> |
svuint16_t | hwy::HWY_NAMESPACE::Set (Simd< bfloat16_t, N, kPow2 > d, bfloat16_t arg) |
|
template<class D > |
VFromD< D > | hwy::HWY_NAMESPACE::Zero (D d) |
|
template<size_t N, int kPow2> |
HWY_INLINE svuint16_t | hwy::HWY_NAMESPACE::detail::BitCastFromByte (Simd< bfloat16_t, N, kPow2 >, svuint8_t v) |
|
template<class D , class FromV > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::BitCast (D d, FromV v) |
|
| hwy::HWY_NAMESPACE::HWY_SVE_FOREACH_UI (HWY_SVE_RETV_ARGPV, Not, not) namespace detail |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::And (const V a, const V b) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::Or (const V a, const V b) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::Xor (const V a, const V b) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::AndNot (const V a, const V b) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::Xor3 (const V x1, const V x2, const V x3) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Or3 (V o1, V o2, V o3) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::OrAnd (const V o, const V a1, const V a2) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::CopySign (const V magn, const V sign) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::CopySignToAbs (const V abs, const V sign) |
|
HWY_API svuint64_t | hwy::HWY_NAMESPACE::SumsOf8 (const svuint8_t v) |
|
template<int kBits, class V > |
HWY_API V | hwy::HWY_NAMESPACE::RotateRight (const V v) |
|
HWY_API svint16_t | hwy::HWY_NAMESPACE::MulFixedPoint15 (svint16_t a, svint16_t b) |
|
template<class D , typename MFrom > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::RebindMask (const D, const MFrom mask) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::Not (svbool_t m) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::And (svbool_t a, svbool_t b) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::AndNot (svbool_t a, svbool_t b) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::Or (svbool_t a, svbool_t b) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::Xor (svbool_t a, svbool_t b) |
|
HWY_API svbool_t | hwy::HWY_NAMESPACE::ExclusiveNeither (svbool_t a, svbool_t b) |
|
template<class D > |
HWY_API bool | hwy::HWY_NAMESPACE::AllFalse (D d, svbool_t m) |
|
template<class D > |
HWY_API bool | hwy::HWY_NAMESPACE::AllTrue (D d, svbool_t m) |
|
template<class D > |
HWY_API intptr_t | hwy::HWY_NAMESPACE::FindFirstTrue (D d, svbool_t m) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::FindKnownFirstTrue (D d, svbool_t m) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::IfThenElseZero (const svbool_t mask, const V yes) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::IfThenZeroElse (const svbool_t mask, const V no) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::Gt (const V a, const V b) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::Ge (const V a, const V b) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::TestBit (const V a, const V bit) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::MaskFromVec (const V v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::VecFromMask (const D d, svbool_t mask) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::IfVecThenElse (const V mask, const V yes, const V no) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::IsNaN (const V v) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::IsInf (const V v) |
|
template<class V > |
HWY_API svbool_t | hwy::HWY_NAMESPACE::IsFinite (const V v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::Load (Simd< bfloat16_t, N, kPow2 > d, const bfloat16_t *HWY_RESTRICT p) |
|
template<size_t N, int kPow2> |
HWY_API void | hwy::HWY_NAMESPACE::Store (svuint16_t v, Simd< bfloat16_t, N, kPow2 > d, bfloat16_t *HWY_RESTRICT p) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::LoadU (D d, const TFromD< D > *HWY_RESTRICT p) |
|
template<class V , class D > |
HWY_API void | hwy::HWY_NAMESPACE::StoreU (const V v, D d, TFromD< D > *HWY_RESTRICT p) |
|
template<size_t N, int kPow2> |
HWY_API svuint32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< uint32_t, N, kPow2 > dto, svuint8_t vfrom) |
|
template<size_t N, int kPow2> |
HWY_API svint32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N, kPow2 > dto, svint8_t vfrom) |
|
template<size_t N, int kPow2> |
HWY_API svint16_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< int16_t, N, kPow2 > dto, svuint8_t vfrom) |
|
template<size_t N, int kPow2> |
HWY_API svint32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N, kPow2 > dto, svuint16_t vfrom) |
|
template<size_t N, int kPow2> |
HWY_API svint32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N, kPow2 > dto, svuint8_t vfrom) |
|
template<size_t N, int kPow2> |
HWY_API svfloat32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< float32_t, N, kPow2 >, const svfloat16_t v) |
|
template<size_t N, int kPow2> |
HWY_API svfloat64_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< float64_t, N, kPow2 >, const svfloat32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svfloat64_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< float64_t, N, kPow2 >, const svint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svfloat32_t | hwy::HWY_NAMESPACE::detail::PromoteUpperTo (Simd< float, N, kPow2 > df, svfloat16_t v) |
|
template<typename TN , class VU > |
VU | hwy::HWY_NAMESPACE::detail::SaturateU (VU v) |
|
template<typename TN , class VI > |
VI | hwy::HWY_NAMESPACE::detail::SaturateI (VI v) |
|
template<size_t N, int kPow2> |
HWY_API svuint8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, kPow2 > dn, const svint16_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint16_t, N, kPow2 > dn, const svint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, kPow2 > dn, const svint32_t v) |
|
HWY_API svuint8_t | hwy::HWY_NAMESPACE::U8FromU32 (const svuint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint8_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint64_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint16_t, N, kPow2 >, const svuint64_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint32_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint32_t, N, kPow2 >, const svuint64_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint8_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint16_t, N, kPow2 >, const svuint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint8_t | hwy::HWY_NAMESPACE::TruncateTo (Simd< uint8_t, N, kPow2 >, const svuint16_t v) |
|
template<size_t N, int kPow2> |
HWY_API svint8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, kPow2 > dn, const svint16_t v) |
|
template<size_t N, int kPow2> |
HWY_API svint16_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int16_t, N, kPow2 > dn, const svint32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svint8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, kPow2 > dn, const svint32_t v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatOdd (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ConcatEven (D d, VFromD< D > hi, VFromD< D > lo) |
|
template<size_t N, int kPow2> |
HWY_API svfloat16_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< float16_t, N, kPow2 > d, const svfloat32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< bfloat16_t, N, kPow2 >, svfloat32_t v) |
|
template<size_t N, int kPow2> |
HWY_API svfloat32_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< float32_t, N, kPow2 > d, const svfloat64_t v) |
|
template<size_t N, int kPow2> |
HWY_API svint32_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N, kPow2 > d, const svfloat64_t v) |
|
template<class VF , class DI = RebindToSigned<DFromV<VF>>> |
HWY_API VFromD< DI > | hwy::HWY_NAMESPACE::NearestInt (VF v) |
|
template<class D , HWY_IF_FLOAT_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Iota (const D d, TFromD< D > first) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveLower (D d, const V a, const V b) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveLower (const V a, const V b) |
|
template<class D , class V = VFromD<D>, hwy::EnableIf< detail::IsFull(D())> * = nullptr> |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveUpper (D d, const V a, const V b) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 1) > |
svbool_t | hwy::HWY_NAMESPACE::detail::MaskLowerHalf (D d) |
|
template<class D > |
svbool_t | hwy::HWY_NAMESPACE::detail::MaskUpperHalf (D d) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatUpperLower (const D d, const V hi, const V lo) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatLowerLower (const D d, const V hi, const V lo) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatLowerUpper (const D d, const V hi, const V lo) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatUpperUpper (const D d, const V hi, const V lo) |
|
template<class D , class V2 > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Combine (const D d, const V2 hi, const V2 lo) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ZeroExtendVector (const D d, const V lo) |
|
template<class D2 , class V > |
HWY_API V | hwy::HWY_NAMESPACE::LowerHalf (D2, const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::LowerHalf (const V v) |
|
template<class DH , class V > |
HWY_API V | hwy::HWY_NAMESPACE::UpperHalf (const DH dh, const V v) |
|
template<class D , class V > |
V | hwy::HWY_NAMESPACE::SumOfLanes (D d, V v) |
|
template<class D , class V > |
V | hwy::HWY_NAMESPACE::MinOfLanes (D d, V v) |
|
template<class D , class V > |
V | hwy::HWY_NAMESPACE::MaxOfLanes (D d, V v) |
|
template<class V > |
HWY_API TFromV< V > | hwy::HWY_NAMESPACE::GetLane (const V v) |
|
template<class V > |
HWY_API TFromV< V > | hwy::HWY_NAMESPACE::ExtractLane (V v, size_t i) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::InsertLane (const V v, size_t i, TFromV< V > t) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::DupEven (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::DupOdd (const V v) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::OddEven (const V odd, const V even) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::OddEvenBlocks (const V odd, const V even) |
|
template<class D , class VI > |
HWY_API VFromD< RebindToUnsigned< D > > | hwy::HWY_NAMESPACE::IndicesFromVec (D d, VI vec) |
|
template<class D , typename TI > |
HWY_API VFromD< RebindToUnsigned< D > > | hwy::HWY_NAMESPACE::SetTableIndices (D d, const TI *idx) |
|
template<typename T , size_t N, int kPow2> |
constexpr size_t | hwy::HWY_NAMESPACE::detail::LanesPerBlock (Simd< T, N, kPow2 >) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::SwapAdjacentBlocks (const V v) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::Reverse (D d, V v) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 2) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse2 (D d, const VFromD< D > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse4 (D d, const VFromD< D > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse8 (D d, const VFromD< D > v) |
|
template<class V , HWY_IF_LANE_SIZE_V(V, 8) > |
HWY_API V | hwy::HWY_NAMESPACE::Compress (V v, svbool_t mask) |
|
HWY_API svfloat16_t | hwy::HWY_NAMESPACE::Compress (svfloat16_t v, svbool_t mask16) |
|
template<class V , typename T = TFromV<V>, HWY_IF_LANE_SIZE_ONE_OF(T, 0x14) > |
HWY_API V | hwy::HWY_NAMESPACE::CompressNot (V v, const svbool_t mask) |
|
template<class V , HWY_IF_LANE_SIZE_V(V, 8) > |
HWY_API V | hwy::HWY_NAMESPACE::CompressNot (V v, svbool_t mask) |
|
HWY_API svuint64_t | hwy::HWY_NAMESPACE::CompressBlocksNot (svuint64_t v, svbool_t mask) |
|
template<class V , class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (const V v, const svbool_t mask, const D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class V , class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBlendedStore (const V v, const svbool_t mask, const D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<size_t kBytes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::CombineShiftRightBytes (const D d, const V hi, const V lo) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle2301 (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle2103 (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle0321 (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle1032 (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle01 (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Shuffle0123 (const V v) |
|
template<class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBlocks (D d, V v) |
|
template<class V , class VI > |
HWY_API VI | hwy::HWY_NAMESPACE::TableLookupBytes (const V v, const VI idx) |
|
template<class V , class VI > |
HWY_API VI | hwy::HWY_NAMESPACE::TableLookupBytesOr0 (const V bytes, const VI from) |
|
template<int kLane, class V > |
HWY_API V | hwy::HWY_NAMESPACE::Broadcast (const V v) |
|
template<size_t kLanes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ShiftLeftLanes (D d, const V v) |
|
template<size_t kLanes, class V > |
HWY_API V | hwy::HWY_NAMESPACE::ShiftLeftLanes (const V v) |
|
template<size_t kLanes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ShiftRightLanes (D d, V v) |
|
template<int kBytes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ShiftLeftBytes (const D d, const V v) |
|
template<int kBytes, class V > |
HWY_API V | hwy::HWY_NAMESPACE::ShiftLeftBytes (const V v) |
|
template<int kBytes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ShiftRightBytes (const D d, const V v) |
|
template<class V , class DW = RepartitionToWide<DFromV<V>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (DW dw, V a, V b) |
|
template<class V , class D = DFromV<V>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (const V a, const V b) |
|
template<class V , class DW = RepartitionToWide<DFromV<V>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipUpper (DW dw, V a, V b) |
|
template<size_t N, int kPow2> |
HWY_API svfloat32_t | hwy::HWY_NAMESPACE::PromoteTo (Simd< float32_t, N, kPow2 > df32, const svuint16_t v) |
|
template<size_t N, int kPow2> |
HWY_API svuint16_t | hwy::HWY_NAMESPACE::ReorderDemote2To (Simd< bfloat16_t, N, kPow2 > dbf16, svfloat32_t a, svfloat32_t b) |
|
template<size_t N, int kPow2> |
HWY_API svint16_t | hwy::HWY_NAMESPACE::ReorderDemote2To (Simd< int16_t, N, kPow2 > d16, svint32_t a, svint32_t b) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::ZeroIfNegative (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::BroadcastSignBit (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::IfNegativeThenElse (V v, V yes, V no) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 1) > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::LoadMaskBits (D d, const uint8_t *HWY_RESTRICT bits) |
|
template<class T , HWY_IF_LANE_SIZE(T, 1) > |
HWY_INLINE svuint8_t | hwy::HWY_NAMESPACE::detail::BoolFromMask (svbool_t m) |
|
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::detail::BitsFromBool (svuint8_t x) |
|
template<class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::StoreMaskBits (D d, svbool_t m, uint8_t *bits) |
|
template<class V , class D = DFromV<V>, HWY_IF_NOT_LANE_SIZE_D(D, 1) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::CompressBits (V v, const uint8_t *HWY_RESTRICT bits) |
|
template<class D , HWY_IF_NOT_LANE_SIZE_D(D, 1) > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBitsStore (VFromD< D > v, const uint8_t *HWY_RESTRICT bits, D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class V , class DW = RepartitionToWide<DFromV<V>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::MulEven (const V a, const V b) |
|
HWY_API svuint64_t | hwy::HWY_NAMESPACE::MulEven (const svuint64_t a, const svuint64_t b) |
|
HWY_API svuint64_t | hwy::HWY_NAMESPACE::MulOdd (const svuint64_t a, const svuint64_t b) |
|
template<size_t N, int kPow2> |
HWY_API svfloat32_t | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (Simd< float, N, kPow2 > df32, svuint16_t a, svuint16_t b, const svfloat32_t sum0, svfloat32_t &sum1) |
|
template<size_t N, int kPow2> |
HWY_API svint32_t | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (Simd< int32_t, N, kPow2 > d32, svint16_t a, svint16_t b, const svint32_t sum0, svint32_t &sum1) |
|
template<class VW > |
HWY_API VW | hwy::HWY_NAMESPACE::RearrangeToOddPlusEven (const VW sum0, const VW sum1) |
|
| hwy::HWY_NAMESPACE::detail::HWY_SVE_FOREACH_U (HWY_SVE_DUP, DupEvenB, trn1) HWY_SVE_FOREACH_U(HWY_SVE_DUP |
|
template<class D > |
trn2 HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::detail::Lt128Vec (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Lt128 (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Lt128Upper (D d, svuint64_t a, svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::detail::Eq128Vec (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::detail::Ne128Vec (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Eq128 (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Ne128 (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Eq128Upper (D d, svuint64_t a, svuint64_t b) |
|
template<class D > |
HWY_INLINE svbool_t | hwy::HWY_NAMESPACE::Ne128Upper (D d, svuint64_t a, svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::Min128 (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::Max128 (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::Min128Upper (D d, const svuint64_t a, const svuint64_t b) |
|
template<class D > |
HWY_INLINE svuint64_t | hwy::HWY_NAMESPACE::Max128Upper (D d, const svuint64_t a, const svuint64_t b) |
|
| HWY_AFTER_NAMESPACE () |
|