|
#define | HWY_RVV_IF_POW2_IN(D, min, max) hwy::EnableIf<(min) <= Pow2(D()) && Pow2(D()) <= (max)>* = nullptr |
|
#define | HWY_RVV_FOREACH_B(X_MACRO, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_TRUNC(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_TRUNC(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_TRUNC(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_TRUNC(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_DEMOTE(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_DEMOTE(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_DEMOTE(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_DEMOTE(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_LE2(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_LE2(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_LE2(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_LE2(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_EXT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_EXT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_EXT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_EXT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_ALL(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_ALL(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_ALL(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_ALL(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_VIRT(X_MACRO, BASE, CHAR, NAME, OP) X_MACRO(BASE, CHAR, 16, 32, 8, mf4, mf2, mf8, -3, /*MLEN=*/64, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_VIRT(X_MACRO, BASE, CHAR, NAME, OP) X_MACRO(BASE, CHAR, 32, 64, 16, mf2, m1, mf4, -2, /*MLEN=*/64, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_VIRT(X_MACRO, BASE, CHAR, NAME, OP) X_MACRO(BASE, CHAR, 64, __, 32, m1, m2, mf2, -1, /*MLEN=*/64, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_ALL_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_ALL_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_ALL_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_ALL_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_LE2_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_LE2_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_LE2_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_LE2_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_EXT_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_EXT_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_EXT_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_EXT_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_08_DEMOTE_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_16_DEMOTE_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_32_DEMOTE_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_64_DEMOTE_VIRT(X_MACRO, BASE, CHAR, NAME, OP) |
|
#define | HWY_RVV_FOREACH_U08(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_08, LMULS)(X_MACRO, uint, u, NAME, OP) |
|
#define | HWY_RVV_FOREACH_U16(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_16, LMULS)(X_MACRO, uint, u, NAME, OP) |
|
#define | HWY_RVV_FOREACH_U32(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_32, LMULS)(X_MACRO, uint, u, NAME, OP) |
|
#define | HWY_RVV_FOREACH_U64(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_64, LMULS)(X_MACRO, uint, u, NAME, OP) |
|
#define | HWY_RVV_FOREACH_I08(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_08, LMULS)(X_MACRO, int, i, NAME, OP) |
|
#define | HWY_RVV_FOREACH_I16(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_16, LMULS)(X_MACRO, int, i, NAME, OP) |
|
#define | HWY_RVV_FOREACH_I32(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_32, LMULS)(X_MACRO, int, i, NAME, OP) |
|
#define | HWY_RVV_FOREACH_I64(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_64, LMULS)(X_MACRO, int, i, NAME, OP) |
|
#define | HWY_RVV_FOREACH_F16(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_F32(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_32, LMULS)(X_MACRO, float, f, NAME, OP) |
|
#define | HWY_RVV_FOREACH_F64(X_MACRO, NAME, OP, LMULS) HWY_CONCAT(HWY_RVV_FOREACH_64, LMULS)(X_MACRO, float, f, NAME, OP) |
|
#define | HWY_RVV_FOREACH_UI08(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI16(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI32(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI64(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI3264(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_U163264(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_I163264(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI163264(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_F3264(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_U(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_I(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_F(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH_UI(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_FOREACH(X_MACRO, NAME, OP, LMULS) |
|
#define | HWY_RVV_T(BASE, SEW) BASE##SEW##_t |
|
#define | HWY_RVV_D(BASE, SEW, N, SHIFT) Simd<HWY_RVV_T(BASE, SEW), N, SHIFT> |
|
#define | HWY_RVV_V(BASE, SEW, LMUL) v##BASE##SEW##LMUL##_t |
|
#define | HWY_RVV_M(MLEN) vbool##MLEN##_t |
|
#define | HWY_SPECIALIZE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_LANES(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_AVL(SEW, SHIFT) Lanes(ScalableTag<HWY_RVV_T(uint, SEW), SHIFT>()) |
|
#define | HWY_RVV_RETV_ARGV(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETV_ARGVS(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETV_ARGVV(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETM_ARGM(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SET(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_UNDEFINED(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_TRUNC(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_EXT(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_EXT_VIRT(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_U8(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_I8(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_U(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_IF(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_VIRT_U(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CAST_VIRT_IF(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_IOTA(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SHIFT(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SHIFT_VV(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SHIFT_II(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_FMA(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETM_ARGVV(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETM_ARGVS(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETM_ARGMM(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_IF_THEN_ELSE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_IF_THEN_ZERO_ELSE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_VEC_FROM_MASK(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_FIND_FIRST_TRUE(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_ALL_TRUE(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_COUNT_TRUE(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_LOAD(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_MASKED_LOAD(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STORE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_BLENDED_STORE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STOREN(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SCATTER(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_GATHER(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_NATIVE_LOAD_STORE_INTERLEAVED |
|
#define | HWY_RVV_LOAD2(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_LOAD3(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_LOAD4(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STORE2(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STORE3(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STORE4(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_PROMOTE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_PROMOTE(OP, BASE, CHAR, BITS, BASE_IN, BITS_IN, LMUL, LMUL_IN, SHIFT, ADD) |
|
#define | HWY_RVV_PROMOTE_X2(OP, BASE, CHAR, BITS, BASE_IN, BITS_IN) |
|
#define | HWY_RVV_PROMOTE_X4(OP, BASE, CHAR, BITS, BASE_IN, BITS_IN) |
|
#define | HWY_RVV_DEMOTE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_DEMOTE_I_TO_U(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_DEMOTE_F(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_CONVERT(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_NEAREST(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SLIDE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_SLIDE1(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_GET_LANE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_TABLE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_COMPRESS(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_REDUCE(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_LOAD_MASK_BITS(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_STORE_MASK_BITS(SEW, SHIFT, MLEN, NAME, OP) |
|
#define | HWY_RVV_RETV_ARGV2(BASE, CHAR, SEW, SEWD, SEWH, LMUL, LMULD, LMULH, SHIFT, MLEN, NAME, OP) |
|
|
| HWY_BEFORE_NAMESPACE () |
|
template<typename T , size_t N, int kPow2> |
constexpr size_t | hwy::HWY_NAMESPACE::MLenFromD (Simd< T, N, kPow2 >) |
|
template<size_t N, int kPow2> |
HWY_API size_t | hwy::HWY_NAMESPACE::Lanes (Simd< bfloat16_t, N, kPow2 >) |
|
template<size_t N, int kPow2> |
decltype(Set(Simd< uint16_t, N, kPow2 >(), 0)) | hwy::HWY_NAMESPACE::Set (Simd< bfloat16_t, N, kPow2 > d, bfloat16_t arg) |
|
template<typename T , size_t N, int kPow2> |
HWY_API VFromD< Simd< T, N, kPow2 > > | hwy::HWY_NAMESPACE::Zero (Simd< T, N, kPow2 > d) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Undefined (D d) |
|
template<size_t N, int kPow2> |
HWY_INLINE VFromD< Simd< uint16_t, N, kPow2 > > | hwy::HWY_NAMESPACE::detail::BitCastFromByte (Simd< bfloat16_t, N, kPow2 >, VFromD< Simd< uint8_t, N, kPow2 > > v) |
|
template<class D , class FromV > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::BitCast (D d, FromV v) |
|
template<class V , class DU = RebindToUnsigned<DFromV<V>>> |
HWY_INLINE VFromD< DU > | hwy::HWY_NAMESPACE::detail::BitCastToUnsigned (V v) |
|
template<class D , class DU = RebindToUnsigned<D>> |
HWY_INLINE VFromD< DU > | hwy::HWY_NAMESPACE::detail::Iota0 (const D) |
|
template<class V , HWY_IF_FLOAT_V(V) > |
HWY_API V | hwy::HWY_NAMESPACE::Not (const V v) |
|
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_API V | hwy::HWY_NAMESPACE::AndNot (const V not_a, const V b) |
|
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::CopySignToAbs (const V abs, const V sign) |
|
template<class VU8 > |
HWY_API VFromD< Repartition< uint64_t, DFromV< VU8 > > > | hwy::HWY_NAMESPACE::SumsOf8 (const VU8 v) |
|
template<int kBits, class V > |
HWY_API V | hwy::HWY_NAMESPACE::RotateRight (const V v) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Ge (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::Gt (V a, V b) -> decltype(a==b) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::TestBit (const V a, const V bit) -> decltype(Eq(a, bit)) |
|
template<class M , class V > |
HWY_API V | hwy::HWY_NAMESPACE::IfThenElseZero (const M mask, const V yes) |
|
template<class V > |
HWY_API auto | hwy::HWY_NAMESPACE::MaskFromVec (const V v) -> decltype(Eq(v, v)) |
|
template<class D , typename MFrom > |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::RebindMask (const D, const MFrom mask) |
|
template<class D , HWY_IF_NOT_FLOAT_D(D) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::VecFromMask (const D d, MFromD< D > mask) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::IfVecThenElse (const V mask, const V yes, const V no) |
|
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_API bool | hwy::HWY_NAMESPACE::AllFalse (D d, MFromD< D > m) |
|
template<size_t N, int kPow2> |
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > | 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 (VFromD< Simd< uint16_t, N, kPow2 > > 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<class V , class D , typename T > |
HWY_API void | hwy::HWY_NAMESPACE::Stream (const V v, D d, T *HWY_RESTRICT aligned) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 4) > |
HWY_API void | hwy::HWY_NAMESPACE::ScatterIndex (VFromD< D > v, D d, TFromD< D > *HWY_RESTRICT base, const VFromD< RebindToSigned< D > > index) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 4) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::GatherIndex (D d, const TFromD< D > *HWY_RESTRICT base, const VFromD< RebindToSigned< D > > index) |
|
template<size_t N, int kPow2> |
HWY_API auto | hwy::HWY_NAMESPACE::PromoteTo (Simd< int16_t, N, kPow2 > d, VFromD< Rebind< uint8_t, decltype(d)> > v) -> VFromD< decltype(d)> |
|
template<size_t N, int kPow2> |
HWY_API auto | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N, kPow2 > d, VFromD< Rebind< uint8_t, decltype(d)> > v) -> VFromD< decltype(d)> |
|
template<size_t N, int kPow2> |
HWY_API auto | hwy::HWY_NAMESPACE::PromoteTo (Simd< int32_t, N, kPow2 > d, VFromD< Rebind< uint16_t, decltype(d)> > v) -> VFromD< decltype(d)> |
|
template<size_t N, int kPow2> |
HWY_API auto | hwy::HWY_NAMESPACE::PromoteTo (Simd< float32_t, N, kPow2 > d, VFromD< Rebind< bfloat16_t, decltype(d)> > v) -> VFromD< decltype(d)> |
|
template<size_t N> |
HWY_API vuint8mf8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, -3 > d, const vint32mf2_t v) |
|
template<size_t N> |
HWY_API vuint8mf4_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, -2 > d, const vint32m1_t v) |
|
template<size_t N> |
HWY_API vuint8mf2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, -1 > d, const vint32m2_t v) |
|
template<size_t N> |
HWY_API vuint8m1_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, 0 > d, const vint32m4_t v) |
|
template<size_t N> |
HWY_API vuint8m2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< uint8_t, N, 1 > d, const vint32m8_t v) |
|
HWY_API vuint8mf8_t | hwy::HWY_NAMESPACE::U8FromU32 (const vuint32mf2_t v) |
|
HWY_API vuint8mf4_t | hwy::HWY_NAMESPACE::U8FromU32 (const vuint32m1_t v) |
|
HWY_API vuint8mf2_t | hwy::HWY_NAMESPACE::U8FromU32 (const vuint32m2_t v) |
|
HWY_API vuint8m1_t | hwy::HWY_NAMESPACE::U8FromU32 (const vuint32m4_t v) |
|
HWY_API vuint8m2_t | hwy::HWY_NAMESPACE::U8FromU32 (const vuint32m8_t v) |
|
template<size_t N> |
HWY_API vint8mf8_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, -3 > d, const vint32mf2_t v) |
|
template<size_t N> |
HWY_API vint8mf4_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, -2 > d, const vint32m1_t v) |
|
template<size_t N> |
HWY_API vint8mf2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, -1 > d, const vint32m2_t v) |
|
template<size_t N> |
HWY_API vint8m1_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, 0 > d, const vint32m4_t v) |
|
template<size_t N> |
HWY_API vint8m2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int8_t, N, 1 > d, const vint32m8_t v) |
|
| hwy::HWY_NAMESPACE::HWY_RVV_FOREACH_F64 (HWY_RVV_DEMOTE_F, DemoteTo, vfncvt_rod_f_f_w_f, _DEMOTE_VIRT) template< size_t N > HWY_API vint32mf2_t DemoteTo(Simd< int32_t |
|
template<size_t N> |
HWY_API vint32mf2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N, -1 > d, const vfloat64m1_t v) |
|
template<size_t N> |
HWY_API vint32m1_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N, 0 > d, const vfloat64m2_t v) |
|
template<size_t N> |
HWY_API vint32m2_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N, 1 > d, const vfloat64m4_t v) |
|
template<size_t N> |
HWY_API vint32m4_t | hwy::HWY_NAMESPACE::DemoteTo (Simd< int32_t, N, 2 > d, const vfloat64m8_t v) |
|
template<size_t N, int kPow2> |
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > | hwy::HWY_NAMESPACE::DemoteTo (Simd< bfloat16_t, N, kPow2 > d, VFromD< Simd< float, N, kPow2+1 > > v) |
|
template<typename T , size_t N, int kPow2> |
size_t | hwy::HWY_NAMESPACE::detail::LanesPerBlock (Simd< T, N, kPow2 > d) |
|
template<class D , class V > |
HWY_INLINE V | hwy::HWY_NAMESPACE::detail::OffsetsOf128BitBlocks (const D d, const V iota0) |
|
template<size_t kLanes, class D > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::detail::FirstNPerBlock (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::ConcatUpperUpper (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 D2 , class V > |
HWY_API VFromD< D2 > | hwy::HWY_NAMESPACE::Combine (D2 d2, const V hi, const V lo) |
|
template<class D2 , class V > |
HWY_API VFromD< D2 > | hwy::HWY_NAMESPACE::ZeroExtendVector (D2 d2, const V lo) |
|
template<class D > |
constexpr bool | hwy::HWY_NAMESPACE::detail::IsSupportedLMUL (D d) |
|
template<class DH , hwy::EnableIf< detail::IsSupportedLMUL(DH())> * = nullptr> |
HWY_API VFromD< DH > | hwy::HWY_NAMESPACE::LowerHalf (const DH, const VFromD< Twice< DH > > v) |
|
template<class DH , class V , hwy::EnableIf<!detail::IsSupportedLMUL(DH())> * = nullptr> |
HWY_API V | hwy::HWY_NAMESPACE::LowerHalf (const DH, const V v) |
|
template<class V > |
HWY_API VFromD< Half< DFromV< V > > > | hwy::HWY_NAMESPACE::LowerHalf (const V v) |
|
template<class DH > |
HWY_API VFromD< DH > | hwy::HWY_NAMESPACE::UpperHalf (const DH d2, const VFromD< Twice< DH > > v) |
|
template<class V > |
HWY_API TFromV< V > | hwy::HWY_NAMESPACE::ExtractLane (V v, size_t i) |
|
template<class V , HWY_IF_NOT_LANE_SIZE_V(V, 1) > |
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::OddEven (const V a, const V b) |
|
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_API V | hwy::HWY_NAMESPACE::OddEvenBlocks (const V odd, const V even) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::SwapAdjacentBlocks (const V v) |
|
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<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatOdd (D d, const V hi, const V lo) |
|
template<class D , class V > |
HWY_API V | hwy::HWY_NAMESPACE::ConcatEven (D d, const V hi, const V lo) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse (D, VFromD< D > v) |
|
template<class D , HWY_IF_LANE_SIZE_D(D, 2) , HWY_RVV_IF_POW2_IN(D, -1, 3) > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::Reverse2 (D d, const VFromD< D > v) |
|
template<class D , class V = VFromD<D>, HWY_IF_LANE_SIZE_D(D, 8) > |
HWY_API V | hwy::HWY_NAMESPACE::Reverse2 (D, const V 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 D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::ReverseBlocks (D d, V v) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::CompressNot (V v, const M mask) |
|
template<class V , class M > |
HWY_API V | hwy::HWY_NAMESPACE::CompressBlocksNot (V v, const M mask) |
|
template<class V , class M , class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressStore (const V v, const M mask, const D d, TFromD< D > *HWY_RESTRICT unaligned) |
|
template<class V , class M , class D > |
HWY_API size_t | hwy::HWY_NAMESPACE::CompressBlendedStore (const V v, const M 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<size_t kLanes, class D , class V = VFromD<D>> |
HWY_API V | hwy::HWY_NAMESPACE::CombineShiftRightLanes (const D d, const V hi, 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<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2 - 3 > > v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2 - 2 > > v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2 - 1 > > v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< decltype(d)> v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2+1 > > v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2+2 > > v) -> VFromD< decltype(d)> |
|
template<typename T , size_t N, int kPow2> |
HWY_INLINE auto | hwy::HWY_NAMESPACE::detail::ChangeLMUL (Simd< T, N, kPow2 > d, VFromD< Simd< T, N, kPow2+3 > > v) -> VFromD< decltype(d)> |
|
template<class VT , class VI > |
HWY_API VI | hwy::HWY_NAMESPACE::TableLookupBytes (const VT vt, const VI vi) |
|
template<class VT , class VI > |
HWY_API VI | hwy::HWY_NAMESPACE::TableLookupBytesOr0 (const VT vt, const VI idx) |
|
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<int kBytes, class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::ShiftLeftBytes (D d, const VFromD< D > v) |
|
template<int kBytes, class V > |
HWY_API V | hwy::HWY_NAMESPACE::ShiftLeftBytes (const V v) |
|
template<size_t kLanes, typename T , size_t N, int kPow2, class V = VFromD<Simd<T, N, kPow2>>> |
HWY_API V | hwy::HWY_NAMESPACE::ShiftRightLanes (const Simd< T, N, kPow2 > d, 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 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 > |
HWY_API V | hwy::HWY_NAMESPACE::InterleaveUpper (const D d, const V a, const V b) |
|
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 DW = RepartitionToWide<DFromV<V>>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::ZipLower (V a, 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<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::SumOfLanes (D d, const VFromD< D > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MinOfLanes (D d, const VFromD< D > v) |
|
template<class D > |
HWY_API VFromD< D > | hwy::HWY_NAMESPACE::MaxOfLanes (D d, const VFromD< D > v) |
|
template<class V > |
decltype(MaskFromVec(v)) HWY_API V | hwy::HWY_NAMESPACE::Round (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Trunc (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Ceil (const V v) |
|
template<class V > |
HWY_API V | hwy::HWY_NAMESPACE::Floor (const V v) |
|
template<class V > |
HWY_API MFromD< DFromV< V > > | hwy::HWY_NAMESPACE::IsNaN (const V v) |
|
template<class V , class D = DFromV<V>> |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::IsInf (const V v) |
|
template<class V , class D = DFromV<V>> |
HWY_API MFromD< D > | hwy::HWY_NAMESPACE::IsFinite (const V 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 V , HWY_IF_LANE_SIZE_V(V, 4) , class D = DFromV<V>, class DW = RepartitionToWide<D>> |
HWY_API VFromD< DW > | hwy::HWY_NAMESPACE::MulEven (const V a, const V b) |
|
template<class V , HWY_IF_LANE_SIZE_V(V, 8) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::MulEven (const V a, const V b) |
|
template<class V , HWY_IF_LANE_SIZE_V(V, 8) > |
HWY_INLINE V | hwy::HWY_NAMESPACE::MulOdd (const V a, const V b) |
|
template<size_t N, int kPow2> |
HWY_API VFromD< Simd< uint16_t, N, kPow2 > > | hwy::HWY_NAMESPACE::ReorderDemote2To (Simd< bfloat16_t, N, kPow2 > dbf16, VFromD< RepartitionToWide< decltype(dbf16)> > a, VFromD< RepartitionToWide< decltype(dbf16)> > b) |
|
template<size_t N, int kPow2> |
HWY_API auto | hwy::HWY_NAMESPACE::ReorderWidenMulAccumulate (Simd< float, N, kPow2 > df32, VFromD< DU16FromDF< decltype(df32)> > a, VFromD< DU16FromDF< decltype(df32)> > b, const VFromD< decltype(df32)> sum0, VFromD< decltype(df32)> &sum1) -> VFromD< decltype(df32)> |
|
template<class D > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Lt128 (D d, const VFromD< D > a, const VFromD< D > b) |
|
template<class D > |
HWY_INLINE MFromD< D > | hwy::HWY_NAMESPACE::Lt128Upper (D d, const VFromD< D > a, const VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Min128 (D d, const VFromD< D > a, const VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Max128 (D d, const VFromD< D > a, const VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Min128Upper (D d, const VFromD< D > a, const VFromD< D > b) |
|
template<class D > |
HWY_INLINE VFromD< D > | hwy::HWY_NAMESPACE::Max128Upper (D d, const VFromD< D > a, const VFromD< D > b) |
|
| HWY_AFTER_NAMESPACE () |
|