COMPMID-3439 Fix CLQLSTMLayer
authorSiCong Li <sicong.li@arm.com>
Tue, 12 May 2020 14:46:29 +0000 (15:46 +0100)
committerSiCong Li <sicong.li@arm.com>
Tue, 12 May 2020 16:42:34 +0000 (16:42 +0000)
* Apply conditional data type check to CLGEMMLowpMatrixMultiplyNativeKernel

Signed-off-by: SiCong Li <sicong.li@arm.com>
Change-Id: Ife9f85ec91ca38d079b9b4e045fbd4585dd1c8dd
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3180
Reviewed-by: Sang-Hoon Park <sang-hoon.park@arm.com>
Reviewed-by: Sheri Zhang <sheri.zhang@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
src/core/CL/kernels/CLGEMMLowpMatrixMultiplyNativeKernel.cpp

index 760a8622ab69a2a0772c3b6e2214a2d7a1c34e52..663cc70a0b94b322b94f9b10e1eaa64d3c4d9ffb 100644 (file)
@@ -55,7 +55,14 @@ Status validate_arguments(const ITensorInfo *input0, const ITensorInfo *input1,
 {
     ARM_COMPUTE_RETURN_ERROR_ON_NULLPTR(input0, input1, output);
     ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input0, 1, DataType::QASYMM8, DataType::QASYMM8_SIGNED);
-    ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(input0, input1);
+    if(input0->data_type() == DataType::QASYMM8)
+    {
+        ARM_COMPUTE_RETURN_ERROR_ON_MISMATCHING_DATA_TYPES(input0, input1);
+    }
+    else
+    {
+        ARM_COMPUTE_RETURN_ERROR_ON_DATA_TYPE_CHANNEL_NOT_IN(input1, 1, DataType::QSYMM8, DataType::QASYMM8_SIGNED, DataType::QSYMM8_PER_CHANNEL);
+    }
     ARM_COMPUTE_RETURN_ERROR_ON_MSG(input0->num_dimensions() > 4, "The number of dimensions for the LHS matrix must be <= 4");
     ARM_COMPUTE_RETURN_ERROR_ON_MSG(input1->num_dimensions() > 3, "The number of dimensions for the RHS matrix must be <= 3");
     ARM_COMPUTE_RETURN_ERROR_ON(lhs_info.k0 != rhs_info.k0);