aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormorgolock <pablo.tello@arm.com>2020-09-08 16:00:56 +0100
committerPablo Marquez <pablo.tello@arm.com>2020-09-09 12:17:34 +0000
commitfa269bb2f150b5f9f00cd8ad5c57ff02613cb628 (patch)
treec9560ca157a6a861b27537e3fae45be47d5c6652
parentbb88f89b7a12e83eea2fc701f1f82aabf7dfcf7a (diff)
downloadComputeLibrary-fa269bb2f150b5f9f00cd8ad5c57ff02613cb628.tar.gz
MLCE-229: Fixed requantization per channel in asm kernel
Change-Id: Iaf1465f3144371e153ce123ac00da5cc092f77df Signed-off-by: morgolock <pablo.tello@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3939 Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
-rw-r--r--src/core/NEON/kernels/arm_gemm/quantized.cpp1
-rw-r--r--src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/quantized.cpp b/src/core/NEON/kernels/arm_gemm/quantized.cpp
index 201bd9dc2c..cac02cf28e 100644
--- a/src/core/NEON/kernels/arm_gemm/quantized.cpp
+++ b/src/core/NEON/kernels/arm_gemm/quantized.cpp
@@ -137,6 +137,7 @@ void requantize_block_32_int(const Requantize32 &qp, unsigned int width, unsigne
v_shf1l = vld1q_s32(perch_shiftl_ptr + 4);
v_shf2l = vld1q_s32(perch_shiftl_ptr + 8);
v_shf3l = vld1q_s32(perch_shiftl_ptr + 12);
+ perch_shiftl_ptr += 16;
}
} else {
v_mul0=v_mul1=v_mul2=v_mul3=v_mul;
diff --git a/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp b/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp
index eeea3a45ee..30232b4435 100644
--- a/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp
+++ b/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp
@@ -252,7 +252,7 @@ std::tuple<bool, const int32_t *, const int32_t *, const int32_t *> Fallback<Typ
{
left_shifts.push_back(std::max(-s, int32_t(0)));
right_shifts.push_back(std::min(-s, int32_t(0)));
- if(s > 0 && !need_left)
+ if(s < 0 && !need_left)
{
need_left = true;
}