COMPMID-2602: FullyConnected VTS failure on CL and Neon TENSOR_QUANT8_ASYMM

Change-Id: I918d2b9e6d1297cf78c7e567b2a95406875f82ad
Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1782
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/runtime/NEON/functions/NEFullyConnectedLayer.cpp b/src/runtime/NEON/functions/NEFullyConnectedLayer.cpp
index 7a74a7e..12a5a1d 100644
--- a/src/runtime/NEON/functions/NEFullyConnectedLayer.cpp
+++ b/src/runtime/NEON/functions/NEFullyConnectedLayer.cpp
@@ -328,6 +328,13 @@
     // Validate output stage for asymmetric quantized types
     if(is_quantized)
     {
+        const UniformQuantizationInfo iq_info    = input->quantization_info().uniform();
+        const UniformQuantizationInfo wq_info    = weights->quantization_info().uniform();
+        const UniformQuantizationInfo oq_info    = output->quantization_info().uniform();
+        const float                   multiplier = iq_info.scale * wq_info.scale / oq_info.scale;
+
+        ARM_COMPUTE_UNUSED(multiplier);
+        ARM_COMPUTE_RETURN_ERROR_ON(multiplier > 1.0f);
         ARM_COMPUTE_RETURN_ON_ERROR(NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPoint::validate(&gemmlowp_output, biases, output));
     }