diff options
author | Pablo Tello <pablo.tello@arm.com> | 2017-07-26 10:28:40 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-09-17 14:16:42 +0100 |
commit | f87cc7f6fef95f9b022725304118796a6a764a7c (patch) | |
tree | 06a643c47c93ba1a64dcca1ae787214a6fbfff54 /arm_compute/core/NEON/NEFixedPoint.h | |
parent | 6c928343b0fa2bf60ffdfe21aea28b598d742ed4 (diff) | |
download | ComputeLibrary-f87cc7f6fef95f9b022725304118796a6a764a7c.tar.gz |
COMPMID-417: Port NEDirectConvolution 1x1 to QS16.
Change-Id: Icae6a5091e836d0aca24375f43cca9e6d3a2090f
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/81662
Reviewed-by: Moritz Pflanzer <moritz.pflanzer@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/NEFixedPoint.h')
-rw-r--r-- | arm_compute/core/NEON/NEFixedPoint.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arm_compute/core/NEON/NEFixedPoint.h b/arm_compute/core/NEON/NEFixedPoint.h index 08f680801d..3de226112e 100644 --- a/arm_compute/core/NEON/NEFixedPoint.h +++ b/arm_compute/core/NEON/NEFixedPoint.h @@ -48,6 +48,7 @@ using qint16x8x3_t = int16x8x3_t; /**< 16 bit fixed point vector with 24 element using qint16x8x4_t = int16x8x4_t; /**< 16 bit fixed point vector with 32 elements */ using qint32x2_t = int32x2_t; /**< 32 bit fixed point vector with 2 elements */ using qint32x4_t = int32x4_t; /**< 32 bit fixed point vector with 4 elements */ +using qint32x4x2_t = int32x4x2_t; /**< 32 bit fixed point vector with 8 elements */ /** Get the lower half of a 16 elements vector * @@ -673,6 +674,16 @@ qint16x8_t vqmulq_qs16(qint16x8_t a, qint16x8_t b, int fixed_point_position); */ qint16x8_t vmull_qs8(qint8x8_t a, qint8x8_t b, int fixed_point_position); +/** 16 bit fixed point vector long multiply (4 elements) + * + * @param[in] a First 16 bit fixed point input vector + * @param[in] b Second 16 bit fixed point input vector + * @param[in] fixed_point_position Fixed point position that expresses the number of bits for the fractional part of the number + * + * @return The result of the 32 bit fixed point long vector multiplication. + */ +qint32x4_t vmull_qs16(qint16x4_t a, qint16x4_t b, int fixed_point_position); + /** 8 bit fixed point vector multiply-accumulate (8 elements). This operation performs the product between @p b and @p c and add the result to @p a (a + b * c). * * @param[in] a First 8 bit fixed point input vector where the result of multiplication must be added to |