diff options
author | Sang-Hoon Park <sang-hoon.park@arm.com> | 2021-03-04 17:03:46 +0000 |
---|---|---|
committer | Sang-Hoon Park <sang-hoon.park@arm.com> | 2021-03-05 09:22:27 +0000 |
commit | dcf3c7e1591cfac19ee2b800141df3b3fe45062d (patch) | |
tree | 3384387140c8955c24269f5e52788cdfb1de48d5 /src/core/NEON/NEMath.inl | |
parent | ca419dde35118fcfe07fa0a5ce388c0a40b75c49 (diff) | |
download | ComputeLibrary-dcf3c7e1591cfac19ee2b800141df3b3fe45062d.tar.gz |
Move utility functions to NE/SVEMath
To avoid unused function warnings when only
partial data types are selected, the definition
of functions are moved.
Partially Resolves: COMPMID-4282
Change-Id: Ic30ddd3f2c88cac5978d27e5f4ada3639b5a04e5
Signed-off-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5215
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/NEMath.inl')
-rw-r--r-- | src/core/NEON/NEMath.inl | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/core/NEON/NEMath.inl b/src/core/NEON/NEMath.inl index 1f5cb56dfc..da9d038139 100644 --- a/src/core/NEON/NEMath.inl +++ b/src/core/NEON/NEMath.inl @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2020 Arm Limited. + * Copyright (c) 2016-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -387,6 +387,34 @@ inline void convert_float32x4x4_to_int8x16(const float32x4x4_t &in, int8x16_t &o out = vcombine_s8(vqmovn_s16(low), vqmovn_s16(high)); } +template <> +inline uint8x16_t convert_float_to_int<float32x4x4_t, uint8x16_t>(const float32x4x4_t &in) +{ + uint8x16_t out; + convert_float32x4x4_to_uint8x16(in, out); + return out; +} + +template <> +inline float32x4x4_t convert_int_to_float<float32x4x4_t, uint8x16_t>(const uint8x16_t &in) +{ + return convert_uint8x16_to_float32x4x4(in); +} + +template <> +inline int8x16_t convert_float_to_int<float32x4x4_t, int8x16_t>(const float32x4x4_t &in) +{ + int8x16_t out; + convert_float32x4x4_to_int8x16(in, out); + return out; +} + +template <> +inline float32x4x4_t convert_int_to_float<float32x4x4_t, int8x16_t>(const int8x16_t &in) +{ + return convert_int8x16_to_float32x4x4(in); +} + #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC /** Exponent polynomial coefficients */ /** Logarithm polynomial coefficients */ |