Update GEMV heuristics for quantized types for A53

Switch assembly kernels to dispatch a 4x4 blocked GEMM kernel for A53
when M <= 4 instead of the 8x12 u16 based one.

Resolves: COMPMID-3983

Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ic46a1b51a7c075e46dcb5cd578c75260ded0540c
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4640
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_int8.cpp b/src/core/NEON/kernels/arm_gemm/gemm_int8.cpp
index 31f2250..f081558 100644
--- a/src/core/NEON/kernels/arm_gemm/gemm_int8.cpp
+++ b/src/core/NEON/kernels/arm_gemm/gemm_int8.cpp
@@ -105,7 +105,7 @@
     GemmMethod::GEMM_INTERLEAVED,
     "a64_gemm_s16_8x12",
     nullptr,
-    [](const GemmArgs &args) { return args._ci->get_cpu_model() == CPUModel::A53 && args._Ksize>4; },
+    [](const GemmArgs &args) { return args._ci->get_cpu_model() == CPUModel::A53 && ((args._Msize > 28) || ((args._Msize % 8) > 4)); },
     [](const GemmArgs &args) { return new GemmInterleaved<cls_a64_gemm_s16_8x12, int8_t, int32_t>(args); },
 },
 {