24 #ifndef SRC_CORE_NEON_WRAPPER_INTRINSICS_SVREINTERPRET_H
25 #define SRC_CORE_NEON_WRAPPER_INTRINSICS_SVREINTERPRET_H
26 #if defined(__ARM_FEATURE_SVE)
32 #define SVREINTERPRET_TO_F32_IMPL(vtype) \
33 template <typename T> \
34 inline typename std::enable_if<std::is_same<T, float>::value, svfloat32_t>::type svreinterpret(const vtype &a) \
36 return svreinterpret_f32(a); \
39 SVREINTERPRET_TO_F32_IMPL(svuint32_t)
40 #undef SVREINTERPRET_TO_F32_IMPL
42 #define SVREINTERPRET_TO_U32_IMPL(vtype) \
43 template <typename T> \
44 inline typename std::enable_if<std::is_same<T, uint32_t>::value, svuint32_t>::type svreinterpret(const vtype &a) \
46 return svreinterpret_u32(a); \
49 SVREINTERPRET_TO_U32_IMPL(svint32_t)
50 SVREINTERPRET_TO_U32_IMPL(svfloat32_t)
51 #undef SVREINTERPRET_TO_U32_IMPL