24 #ifndef ARM_COMPUTE_WRAPPER_TRAITS_H 25 #define ARM_COMPUTE_WRAPPER_TRAITS_H 29 #if defined(__ARM_FEATURE_SVE) 51 #ifndef DOXYGEN_SKIP_THIS 59 template <>
struct neon_vector<uint16_t, 16>{
using scalar_type = uint16_t;
using type = uint16x8x2_t; };
61 template <>
struct neon_vector<int16_t, 16>{
using scalar_type = int16_t;
using type = int16x8x2_t; };
73 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 74 template <>
struct neon_vector<float16_t, 4>{
using scalar_type = float16_t;
using type = float16x4_t;
using tag_type =
vector_64_tag; };
76 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 94 #ifndef DOXYGEN_SKIP_THIS 113 #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 116 #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 119 #if defined(__ARM_FEATURE_SVE) 121 template <
typename T>
struct sve_vector;
123 template <>
struct sve_vector<uint8_t>{
using scalar_type = uint8_t;
using type = svuint8_t; };
124 template <>
struct sve_vector<int8_t>{
using scalar_type = int8_t;
using type = svint8_t; };
146 template <
typename T>
BitWidth
Vector bit-width enum class.
half_float::half half
16-bit floating point type
decltype(strategy::transforms) typedef type
Copyright (c) 2017-2021 Arm Limited.
typename neon_bitvector< T, BW >::tag_type neon_bitvector_tag_t
Helper type template to get the tag type of a neon vector.
typename promote< T >::type promote_t
Get promoted type.
typename neon_vector< T, S >::tag_type neon_vector_tag_t
Helper type template to get the tag type of a neon vector.
typename neon_vector< T, S >::type neon_vector_t
Helper type template to get the type of a neon vector.
Create the appropriate Neon vector given its type and size in terms of elements.
Create the appropriate Neon vector given its type and size in terms of bits.
typename neon_bitvector< T, BW >::type neon_bitvector_t
Helper type template to get the type of a neon vector.