24 #ifndef SRC_CORE_NEON_WRAPPER_INTRINSICS_SVQADD_H
25 #define SRC_CORE_NEON_WRAPPER_INTRINSICS_SVQADD_H
26 #if defined(__ARM_FEATURE_SVE)
32 #define SVQADD_IMPL_F(type, postfix, svppostfix) \
33 inline type svqadd(const type &val1, const type &val2) \
35 return svadd_##postfix##_z(svptrue_##svppostfix(), val1, val2); \
38 SVQADD_IMPL_F(svfloat32_t, f32, b32)
39 SVQADD_IMPL_F(svfloat16_t, f16, b16)
42 #define SVQADD_IMPL(type, postfix) \
43 inline type svqadd(const type &val1, const type &val2) \
45 return svqadd_##postfix(val1, val2); \
48 SVQADD_IMPL(svint32_t, s32)
49 SVQADD_IMPL(svint16_t, s16)
50 SVQADD_IMPL(svint8_t, s8)
51 SVQADD_IMPL(svuint32_t, u32)
52 SVQADD_IMPL(svuint16_t, u16)
53 SVQADD_IMPL(svuint8_t, u8)