10#ifndef EIGEN_PACKET_MATH_SVE_H
11#define EIGEN_PACKET_MATH_SVE_H
17#ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD
18#define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8
21#ifndef EIGEN_HAS_SINGLE_INSTRUCTION_MADD
22#define EIGEN_HAS_SINGLE_INSTRUCTION_MADD
25#define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 32
27template <
typename Scalar,
int SVEVectorLength>
307 EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT);
357 for (
i = 0;
i <
N;
i++) {
360 for (
i = 0;
i <
N;
i++) {
367typedef svfloat32_t PacketXf
__attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)));
370struct packet_traits<float> : default_packet_traits {
684 EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT);
734 for (
i = 0;
i <
N;
i++) {
738 for (
i = 0;
i <
N;
i++) {
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_DEBUG_ALIGNED_STORE
Definition GenericPacketMath.h:35
#define EIGEN_DEBUG_ALIGNED_LOAD
Definition GenericPacketMath.h:27
#define EIGEN_DEBUG_UNALIGNED_STORE
Definition GenericPacketMath.h:39
#define EIGEN_DEBUG_UNALIGNED_LOAD
Definition GenericPacketMath.h:31
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_FAST_MATH
Definition Macros.h:49
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:127
Scalar Scalar * c
Definition benchVecAdd.cpp:17
Scalar * b
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
@ N
Definition constructor.cpp:23
@ Aligned64
Definition Constants.h:237
EIGEN_STRONG_INLINE PacketXf pxor< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:576
EIGEN_STRONG_INLINE void pstore< numext::int32_t >(numext::int32_t *to, const PacketXi &from)
Definition PacketMath.h:251
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
Definition Complex.h:167
EIGEN_STRONG_INLINE PacketXf pmin< PropagateNumbers, PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:498
EIGEN_STRONG_INLINE PacketXf pmul< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:468
EIGEN_STRONG_INLINE float predux_mul< PacketXf >(const PacketXf &a)
Definition PacketMath.h:681
EIGEN_STRONG_INLINE numext::int32_t predux_max< PacketXi >(const PacketXi &a)
Definition PacketMath.h:345
EIGEN_STRONG_INLINE PacketXf pcmp_lt< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:530
EIGEN_STRONG_INLINE PacketXi por< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:186
EIGEN_STRONG_INLINE PacketXf pfloor< PacketXf >(const PacketXf &a)
Definition PacketMath.h:551
EIGEN_STRONG_INLINE PacketXi ploaddup< PacketXi >(const numext::int32_t *from)
Definition PacketMath.h:234
EIGEN_STRONG_INLINE PacketXi psub< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:102
EIGEN_STRONG_INLINE float predux< PacketXf >(const PacketXf &a)
Definition PacketMath.h:672
EIGEN_STRONG_INLINE PacketXf pcmp_lt_or_nan< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:545
EIGEN_STRONG_INLINE PacketXf pcmp_eq< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:536
EIGEN_DEVICE_FUNC void pscatter< numext::int32_t, PacketXi >(numext::int32_t *to, const PacketXi &from, Index stride)
Definition PacketMath.h:271
EIGEN_STRONG_INLINE float pfirst< PacketXf >(const PacketXf &a)
Definition PacketMath.h:645
EIGEN_STRONG_INLINE void ptranspose(PacketBlock< Packet2cf, 2 > &kernel)
Definition Complex.h:224
EIGEN_STRONG_INLINE PacketXi pload< PacketXi >(const numext::int32_t *from)
Definition PacketMath.h:222
EIGEN_STRONG_INLINE PacketXf pandnot< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:582
EIGEN_STRONG_INLINE numext::int32_t predux< PacketXi >(const PacketXi &a)
Definition PacketMath.h:298
EIGEN_STRONG_INLINE PacketXf padd< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:444
EIGEN_STRONG_INLINE PacketXf pcmp_le< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:524
EIGEN_STRONG_INLINE PacketXf pmax< PropagateNaN, PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:510
EIGEN_STRONG_INLINE PacketXi plset< PacketXi >(const numext::int32_t &a)
Definition PacketMath.h:88
EIGEN_STRONG_INLINE Packet4i plogical_shift_left(const Packet4i &a)
Definition PacketMath.h:1191
EIGEN_STRONG_INLINE PacketXi pcmp_eq< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:162
EIGEN_STRONG_INLINE PacketXi pmax< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:144
EIGEN_STRONG_INLINE PacketXi pdiv< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:126
EIGEN_STRONG_INLINE Packet4i plogical_shift_right(const Packet4i &a)
Definition PacketMath.h:1189
EIGEN_STRONG_INLINE float predux_min< PacketXf >(const PacketXf &a)
Definition PacketMath.h:715
EIGEN_STRONG_INLINE PacketXi ptrue< PacketXi >(const PacketXi &)
Definition PacketMath.h:168
EIGEN_STRONG_INLINE Packet2cf preverse(const Packet2cf &a)
Definition Complex.h:184
EIGEN_STRONG_INLINE PacketXf psub< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:450
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition PacketMath.h:827
EIGEN_STRONG_INLINE PacketXf por< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:570
EIGEN_STRONG_INLINE PacketXi ploadquad< PacketXi >(const numext::int32_t *from)
Definition PacketMath.h:242
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
Definition Complex.h:166
EIGEN_STRONG_INLINE PacketXf plset< PacketXf >(const float &a)
Definition PacketMath.h:436
EIGEN_STRONG_INLINE PacketXf ptrue< PacketXf >(const PacketXf &)
Definition PacketMath.h:557
EIGEN_STRONG_INLINE Packet4i parithmetic_shift_right(const Packet4i &a)
Definition PacketMath.h:1187
EIGEN_STRONG_INLINE PacketXi pset1< PacketXi >(const numext::int32_t &from)
Definition PacketMath.h:82
EIGEN_STRONG_INLINE PacketXi pxor< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:192
EIGEN_STRONG_INLINE PacketXf pmin< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:486
EIGEN_STRONG_INLINE PacketXf pset1frombits< PacketXf >(numext::uint32_t from)
Definition PacketMath.h:430
EIGEN_STRONG_INLINE PacketXf pldexp< PacketXf >(const PacketXf &a, const PacketXf &exponent)
Definition PacketMath.h:744
EIGEN_STRONG_INLINE PacketXf pmin< PropagateNaN, PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:492
EIGEN_STRONG_INLINE PacketXf pfrexp< PacketXf >(const PacketXf &a, PacketXf &exponent)
Definition PacketMath.h:666
EIGEN_STRONG_INLINE PacketXi pcmp_le< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:150
EIGEN_STRONG_INLINE PacketXi ploadu< PacketXi >(const numext::int32_t *from)
Definition PacketMath.h:228
EIGEN_STRONG_INLINE numext::int32_t predux_min< PacketXi >(const PacketXi &a)
Definition PacketMath.h:339
EIGEN_STRONG_INLINE void pstore< float >(float *to, const Packet4f &from)
Definition PacketMath.h:491
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
Definition PacketMath.h:1176
EIGEN_STRONG_INLINE float predux_max< PacketXf >(const PacketXf &a)
Definition PacketMath.h:721
EIGEN_STRONG_INLINE PacketXi pcmp_lt< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:156
EIGEN_STRONG_INLINE PacketXi pmul< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:120
EIGEN_DEVICE_FUNC void pscatter< float, PacketXf >(float *to, const PacketXf &from, Index stride)
Definition PacketMath.h:637
EIGEN_STRONG_INLINE PacketXf pload< PacketXf >(const float *from)
Definition PacketMath.h:588
EIGEN_STRONG_INLINE PacketXf pand< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:564
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Packet pldexp_generic(const Packet &a, const Packet &exponent)
Definition GenericPacketMathFunctions.h:85
EIGEN_STRONG_INLINE PacketXi pmin< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:138
EIGEN_STRONG_INLINE PacketXf ploadu< PacketXf >(const float *from)
Definition PacketMath.h:594
EIGEN_STRONG_INLINE void prefetch< numext::int32_t >(const numext::int32_t *addr)
Definition PacketMath.h:76
EIGEN_STRONG_INLINE numext::int32_t predux_mul< PacketXi >(const PacketXi &a)
Definition PacketMath.h:304
EIGEN_DEVICE_FUNC PacketXi pgather< numext::int32_t, PacketXi >(const numext::int32_t *from, Index stride)
Definition PacketMath.h:263
EIGEN_STRONG_INLINE PacketXi pand< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:180
EIGEN_STRONG_INLINE PacketXf ploadquad< PacketXf >(const float *from)
Definition PacketMath.h:608
EIGEN_DEVICE_FUNC PacketXf pgather< float, PacketXf >(const float *from, Index stride)
Definition PacketMath.h:629
EIGEN_STRONG_INLINE numext::int32_t pfirst< PacketXi >(const PacketXi &a)
Definition PacketMath.h:279
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Packet pfrexp_generic(const Packet &a, Packet &exponent)
Definition GenericPacketMathFunctions.h:40
EIGEN_STRONG_INLINE PacketXi pzero< PacketXi >(const PacketXi &)
Definition PacketMath.h:174
EIGEN_STRONG_INLINE PacketXf pmax< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:504
svint32_t PacketXi __attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)))
Definition PacketMath.h:33
EIGEN_STRONG_INLINE PacketXf pmax< PropagateNumbers, PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:516
EIGEN_STRONG_INLINE PacketXi pandnot< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:198
EIGEN_STRONG_INLINE PacketXi padd< PacketXi >(const PacketXi &a, const PacketXi &b)
Definition PacketMath.h:96
EIGEN_STRONG_INLINE void pstoreu< numext::int32_t >(numext::int32_t *to, const PacketXi &from)
Definition PacketMath.h:257
EIGEN_STRONG_INLINE PacketXf pdiv< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition PacketMath.h:474
EIGEN_STRONG_INLINE PacketXf pset1< PacketXf >(const float &from)
Definition PacketMath.h:424
EIGEN_STRONG_INLINE void pstoreu< float >(float *to, const Packet4f &from)
Definition PacketMath.h:1088
EIGEN_STRONG_INLINE PacketXf ploaddup< PacketXf >(const float *from)
Definition PacketMath.h:600
::uint32_t uint32_t
Definition Meta.h:56
::int32_t int32_t
Definition Meta.h:57
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition Meta.h:74
const Product< Lhs, Rhs > prod(const Lhs &lhs, const Rhs &rhs)
Definition evaluators.cpp:8
Definition BandTriangularSolver.h:13
Definition GenericPacketMath.h:43
@ HasSin
Definition GenericPacketMath.h:75
@ HasBlend
Definition GenericPacketMath.h:60
@ HasArg
Definition GenericPacketMath.h:53
@ HasCos
Definition GenericPacketMath.h:76
@ HasShift
Definition GenericPacketMath.h:49
@ HasExp
Definition GenericPacketMath.h:68
@ HasSqrt
Definition GenericPacketMath.h:66
@ HasErf
Definition GenericPacketMath.h:88
@ HasLog
Definition GenericPacketMath.h:70
@ HasTanh
Definition GenericPacketMath.h:83
@ HasFloor
Definition GenericPacketMath.h:100
@ HasDiv
Definition GenericPacketMath.h:65
PacketXf type
Definition PacketMath.h:371
PacketXf half
Definition PacketMath.h:372
PacketXi half
Definition PacketMath.h:38
PacketXi type
Definition PacketMath.h:37
Definition GenericPacketMath.h:107
@ HasSub
Definition GenericPacketMath.h:118
@ HasMax
Definition GenericPacketMath.h:124
@ HasNegate
Definition GenericPacketMath.h:120
@ HasMul
Definition GenericPacketMath.h:119
@ HasAdd
Definition GenericPacketMath.h:117
@ HasSetLinear
Definition GenericPacketMath.h:126
@ HasMin
Definition GenericPacketMath.h:123
@ HasConj
Definition GenericPacketMath.h:125
@ HasAbs2
Definition GenericPacketMath.h:122
@ HasAbs
Definition GenericPacketMath.h:121
@ HasHalfPacket
Definition GenericPacketMath.h:114
@ size
Definition GenericPacketMath.h:112
@ AlignedOnScalar
Definition GenericPacketMath.h:113
@ Vectorizable
Definition GenericPacketMath.h:111
Definition PacketMath.h:28
@ size
Definition PacketMath.h:29
Definition ForwardDeclarations.h:17
PacketXi integer_packet
Definition PacketMath.h:412
float type
Definition PacketMath.h:410
PacketXf half
Definition PacketMath.h:411
numext::int32_t type
Definition PacketMath.h:64
PacketXi half
Definition PacketMath.h:65
Definition GenericPacketMath.h:133
@ masked_load_available
Definition GenericPacketMath.h:141
@ size
Definition GenericPacketMath.h:138
@ masked_store_available
Definition GenericPacketMath.h:142
@ vectorizable
Definition GenericPacketMath.h:140
@ alignment
Definition GenericPacketMath.h:139