diff options
author | Manuel Bottini <manuel.bottini@arm.com> | 2019-06-26 15:17:09 +0100 |
---|---|---|
committer | Manuel Bottini <manuel.bottini@arm.com> | 2019-07-03 12:46:08 +0000 |
commit | 7bb56c6337997281df10fa28ad7924c921b920eb (patch) | |
tree | af1ee9244c7c0f9265bb6d075816b18fac2f66df /arm_compute/core/NEON/NEAsymm.inl | |
parent | 6b9f388f719dc9ff1181c9a43a41140f19e15ec8 (diff) | |
download | ComputeLibrary-7bb56c6337997281df10fa28ad7924c921b920eb.tar.gz |
COMPMID-2409: Add QSYMM16 support for PixelWiseMultiplication for NEON
Change-Id: Idfd3b45857201d5143242f9517d3353150b2c923
Signed-off-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1422
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/NEAsymm.inl')
-rw-r--r-- | arm_compute/core/NEON/NEAsymm.inl | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/arm_compute/core/NEON/NEAsymm.inl b/arm_compute/core/NEON/NEAsymm.inl index 209785d94e..a98c6aa390 100644 --- a/arm_compute/core/NEON/NEAsymm.inl +++ b/arm_compute/core/NEON/NEAsymm.inl @@ -23,21 +23,6 @@ */ namespace arm_compute { -inline int32x4_t rounding_divide_by_pow2(int32x4_t x, int exponent) -{ - const int32x4_t shift_vec = vdupq_n_s32(-exponent); - const int32x4_t fixup = vshrq_n_s32(vandq_s32(x, shift_vec), 31); - const int32x4_t fixed_up_x = vqaddq_s32(x, fixup); - return vrshlq_s32(fixed_up_x, shift_vec); -} - -inline int32_t rounding_divide_by_pow2(int32_t x, int exponent) -{ - const int32_t mask = (1 << exponent) - 1; - const int32_t threshold = (mask >> 1) + (x < 0 ? 1 : 0); - return (x >> exponent) + ((x & mask) > threshold ? 1 : 0); -} - inline qasymm8x16_t vmlaq_qasymm8(qasymm8x16_t vd, float32x4_t vs, float32x4_t vo) { // Convert uint8 vectors to uint16 vectors |