24 #ifndef SRC_CORE_NEON_WRAPPER_INTRINSICS_SVWHILELT_H
25 #define SRC_CORE_NEON_WRAPPER_INTRINSICS_SVWHILELT_H
26 #if defined(__ARM_FEATURE_SVE)
32 #define SVWHILELT_IMPL(type) \
33 template <size_t element_size> \
34 inline svbool_t svwhilelt_size(type a, type b); \
37 inline svbool_t svwhilelt_size<64>(type a, type b) \
39 return svwhilelt_b64(a, b); \
42 inline svbool_t svwhilelt_size<32>(type a, type b) \
44 return svwhilelt_b32(a, b); \
47 inline svbool_t svwhilelt_size<16>(type a, type b) \
49 return svwhilelt_b16(a, b); \
52 inline svbool_t svwhilelt_size<8>(type a, type b) \
54 return svwhilelt_b8(a, b); \
57 SVWHILELT_IMPL(int32_t)
58 SVWHILELT_IMPL(uint32_t)
59 SVWHILELT_IMPL(int64_t)
60 SVWHILELT_IMPL(uint64_t)
64 template <
typename ScalarType,
typename IndexType>
65 inline svbool_t svwhilelt(IndexType a, IndexType
b)
67 return svwhilelt_size<sizeof(ScalarType) * 8>(a,
b);