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
27 template <
typename Scalar,
int SVEVectorLength>
29 enum {
size = SVEVectorLength / (
sizeof(Scalar) * CHAR_BIT) };
33 typedef svint32_t PacketXi
__attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)));
78 svprfw(svptrue_b32(), addr, SV_PLDL1KEEP);
84 return svdup_n_s32(from);
92 return svadd_s32_z(svptrue_b32(),
pset1<PacketXi>(
a), svld1_s32(svptrue_b32(), c));
98 return svadd_s32_z(svptrue_b32(),
a, b);
104 return svsub_s32_z(svptrue_b32(),
a, b);
110 return svneg_s32_z(svptrue_b32(),
a);
122 return svmul_s32_z(svptrue_b32(),
a, b);
128 return svdiv_s32_z(svptrue_b32(),
a, b);
134 return svmla_s32_z(svptrue_b32(), c,
a, b);
140 return svmin_s32_z(svptrue_b32(),
a, b);
146 return svmax_s32_z(svptrue_b32(),
a, b);
152 return svdup_n_s32_z(svcmplt_s32(svptrue_b32(),
a, b), 0xffffffffu);
158 return svdup_n_s32_z(svcmplt_s32(svptrue_b32(),
a, b), 0xffffffffu);
164 return svdup_n_s32_z(svcmpeq_s32(svptrue_b32(),
a, b), 0xffffffffu);
170 return svdup_n_s32_z(svptrue_b32(), 0xffffffffu);
176 return svdup_n_s32_z(svptrue_b32(), 0);
182 return svand_s32_z(svptrue_b32(),
a, b);
188 return svorr_s32_z(svptrue_b32(),
a, b);
194 return sveor_s32_z(svptrue_b32(),
a, b);
200 return svbic_s32_z(svptrue_b32(),
a, b);
206 return svasrd_n_s32_z(svptrue_b32(),
a,
N);
212 return svreinterpret_s32_u32(svlsr_u32_z(svptrue_b32(), svreinterpret_u32_s32(
a), svdup_n_u32_z(svptrue_b32(),
N)));
218 return svlsl_s32_z(svptrue_b32(),
a, svdup_n_u32_z(svptrue_b32(),
N));
236 svuint32_t indices = svindex_u32(0, 1);
237 indices = svzip1_u32(indices, indices);
238 return svld1_gather_u32index_s32(svptrue_b32(), from, indices);
244 svuint32_t indices = svindex_u32(0, 1);
245 indices = svzip1_u32(indices, indices);
246 indices = svzip1_u32(indices, indices);
247 return svld1_gather_u32index_s32(svptrue_b32(), from, indices);
266 svint32_t indices = svindex_s32(0, stride);
267 return svld1_gather_s32index_s32(svptrue_b32(), from, indices);
274 svint32_t indices = svindex_s32(0, stride);
275 svst1_scatter_s32index_s32(svptrue_b32(), to, indices, from);
282 return svlasta_s32(svpfalse_b(),
a);
294 return svabs_s32_z(svptrue_b32(),
a);
307 EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT);
310 svint32_t prod = svmul_s32_z(svptrue_b32(),
a, svrev_s32(
a));
314 if (EIGEN_ARM64_SVE_VL >= 2048) {
315 half_prod = svtbl_s32(prod, svindex_u32(32, 1));
316 prod = svmul_s32_z(svptrue_b32(), prod, half_prod);
318 if (EIGEN_ARM64_SVE_VL >= 1024) {
319 half_prod = svtbl_s32(prod, svindex_u32(16, 1));
320 prod = svmul_s32_z(svptrue_b32(), prod, half_prod);
322 if (EIGEN_ARM64_SVE_VL >= 512) {
323 half_prod = svtbl_s32(prod, svindex_u32(8, 1));
324 prod = svmul_s32_z(svptrue_b32(), prod, half_prod);
326 if (EIGEN_ARM64_SVE_VL >= 256) {
327 half_prod = svtbl_s32(prod, svindex_u32(4, 1));
328 prod = svmul_s32_z(svptrue_b32(), prod, half_prod);
331 half_prod = svtbl_s32(prod, svindex_u32(2, 1));
332 prod = svmul_s32_z(svptrue_b32(), prod, half_prod);
341 return svminv_s32(svptrue_b32(),
a);
347 return svmaxv_s32(svptrue_b32(),
a);
355 PacketXi stride_index = svindex_s32(0,
N);
357 for (i = 0; i <
N; i++) {
358 svst1_scatter_s32index_s32(svptrue_b32(), buffer + i, stride_index, kernel.
packet[i]);
360 for (i = 0; i <
N; i++) {
367 typedef svfloat32_t PacketXf
__attribute__((arm_sve_vector_bits(EIGEN_ARM64_SVE_VL)));
370 struct packet_traits<float> : default_packet_traits {
426 return svdup_n_f32(from);
432 return svreinterpret_f32_u32(svdup_n_u32_z(svptrue_b32(), from));
440 return svadd_f32_z(svptrue_b32(),
pset1<PacketXf>(
a), svld1_f32(svptrue_b32(), c));
446 return svadd_f32_z(svptrue_b32(),
a, b);
452 return svsub_f32_z(svptrue_b32(),
a, b);
458 return svneg_f32_z(svptrue_b32(),
a);
470 return svmul_f32_z(svptrue_b32(),
a, b);
476 return svdiv_f32_z(svptrue_b32(),
a, b);
482 return svmla_f32_z(svptrue_b32(), c,
a, b);
488 return svmin_f32_z(svptrue_b32(),
a, b);
500 return svminnm_f32_z(svptrue_b32(),
a, b);
506 return svmax_f32_z(svptrue_b32(),
a, b);
518 return svmaxnm_f32_z(svptrue_b32(),
a, b);
526 return svreinterpret_f32_u32(svdup_n_u32_z(svcmplt_f32(svptrue_b32(),
a, b), 0xffffffffu));
532 return svreinterpret_f32_u32(svdup_n_u32_z(svcmplt_f32(svptrue_b32(),
a, b), 0xffffffffu));
538 return svreinterpret_f32_u32(svdup_n_u32_z(svcmpeq_f32(svptrue_b32(),
a, b), 0xffffffffu));
547 return svreinterpret_f32_u32(svdup_n_u32_z(svnot_b_z(svptrue_b32(), svcmpge_f32(svptrue_b32(),
a, b)), 0xffffffffu));
553 return svrintm_f32_z(svptrue_b32(),
a);
559 return svreinterpret_f32_u32(svdup_n_u32_z(svptrue_b32(), 0xffffffffu));
566 return svreinterpret_f32_u32(svand_u32_z(svptrue_b32(), svreinterpret_u32_f32(
a), svreinterpret_u32_f32(b)));
572 return svreinterpret_f32_u32(svorr_u32_z(svptrue_b32(), svreinterpret_u32_f32(
a), svreinterpret_u32_f32(b)));
578 return svreinterpret_f32_u32(sveor_u32_z(svptrue_b32(), svreinterpret_u32_f32(
a), svreinterpret_u32_f32(b)));
584 return svreinterpret_f32_u32(svbic_u32_z(svptrue_b32(), svreinterpret_u32_f32(
a), svreinterpret_u32_f32(b)));
602 svuint32_t indices = svindex_u32(0, 1);
603 indices = svzip1_u32(indices, indices);
604 return svld1_gather_u32index_f32(svptrue_b32(), from, indices);
610 svuint32_t indices = svindex_u32(0, 1);
611 indices = svzip1_u32(indices, indices);
612 indices = svzip1_u32(indices, indices);
613 return svld1_gather_u32index_f32(svptrue_b32(), from, indices);
632 svint32_t indices = svindex_s32(0, stride);
633 return svld1_gather_s32index_f32(svptrue_b32(), from, indices);
640 svint32_t indices = svindex_s32(0, stride);
641 svst1_scatter_s32index_f32(svptrue_b32(), to, indices, from);
648 return svlasta_f32(svpfalse_b(),
a);
660 return svabs_f32_z(svptrue_b32(),
a);
674 return svaddv_f32(svptrue_b32(),
a);
684 EIGEN_INTERNAL_ERROR_PLEASE_FILE_A_BUG_REPORT);
686 svfloat32_t prod = svmul_f32_z(svptrue_b32(),
a, svrev_f32(
a));
687 svfloat32_t half_prod;
690 if (EIGEN_ARM64_SVE_VL >= 2048) {
691 half_prod = svtbl_f32(prod, svindex_u32(32, 1));
692 prod = svmul_f32_z(svptrue_b32(), prod, half_prod);
694 if (EIGEN_ARM64_SVE_VL >= 1024) {
695 half_prod = svtbl_f32(prod, svindex_u32(16, 1));
696 prod = svmul_f32_z(svptrue_b32(), prod, half_prod);
698 if (EIGEN_ARM64_SVE_VL >= 512) {
699 half_prod = svtbl_f32(prod, svindex_u32(8, 1));
700 prod = svmul_f32_z(svptrue_b32(), prod, half_prod);
702 if (EIGEN_ARM64_SVE_VL >= 256) {
703 half_prod = svtbl_f32(prod, svindex_u32(4, 1));
704 prod = svmul_f32_z(svptrue_b32(), prod, half_prod);
707 half_prod = svtbl_f32(prod, svindex_u32(2, 1));
708 prod = svmul_f32_z(svptrue_b32(), prod, half_prod);
717 return svminv_f32(svptrue_b32(),
a);
723 return svmaxv_f32(svptrue_b32(),
a);
732 PacketXi stride_index = svindex_s32(0,
N);
734 for (i = 0; i <
N; i++) {
735 svst1_scatter_s32index_f32(svptrue_b32(), buffer + i, stride_index, kernel.
packet[i]);
738 for (i = 0; i <
N; i++) {
#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
@ Aligned64
Definition: Constants.h:237
EIGEN_STRONG_INLINE PacketXf pxor< PacketXf >(const PacketXf &a, const PacketXf &b)
Definition: PacketMath.h:576
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_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_CONSTEXPR Index size(const T &x)
Definition: Meta.h:479
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 numext::int32_t predux_mul< PacketXi >(const PacketXi &a)
Definition: PacketMath.h:304
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 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: LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Definition: document.h:416
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition: pointer.h:1181
signed int int32_t
Definition: stdint.h:123
Definition: GenericPacketMath.h:1014
Packet packet[N]
Definition: GenericPacketMath.h:1015
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
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