aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp3
-rw-r--r--tests/validation/NEON/GEMMLowp.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp b/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp
index 94e86c6077..52d2f17dbf 100644
--- a/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp
+++ b/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp
@@ -347,6 +347,9 @@ Status CpuGemmLowpMatrixMultiplyCore::validate(const ITensorInfo *a,
// When using accumulation(in place summation), for now, the only supported DataType for output is S32.
if (gemm_info.accumulate())
{
+#ifdef __arm__
+ ARM_COMPUTE_RETURN_ERROR_MSG("Accumulation is not supported for armv7");
+#endif /* __arm__ */
ARM_COMPUTE_RETURN_ERROR_ON_MSG(gemm_info.gemmlowp_output_stage().type != GEMMLowpOutputStageType::NONE,
"Accumulation is not supported for output QASYMM8/QASYMM8_SIGNED");
}
diff --git a/tests/validation/NEON/GEMMLowp.cpp b/tests/validation/NEON/GEMMLowp.cpp
index 1b07975bb3..8497dd14cf 100644
--- a/tests/validation/NEON/GEMMLowp.cpp
+++ b/tests/validation/NEON/GEMMLowp.cpp
@@ -317,6 +317,8 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NEGEMMLowpMatrixMultiplyCoreFusedOffsetOutputFi
}
TEST_SUITE_END() // FusedOffsetOutput
+// accumulation is not supported for Int8/UInt8 in aarch32
+#ifdef __aarch64__
TEST_SUITE(ACCUMULATION)
TEST_SUITE(S32)
FIXTURE_DATA_TEST_CASE(RunSmall, NEGEMMLowpMatrixMultiplyCoreAccumulateFixture, framework::DatasetMode::ALL, datasets::SmallGEMMLowpDataset())
@@ -331,6 +333,7 @@ FIXTURE_DATA_TEST_CASE(RunLarge, NEGEMMLowpMatrixMultiplyCoreAccumulateFixture,
}
TEST_SUITE_END() // S32
TEST_SUITE_END() // ACCUMULATION
+#endif // __arch64__
TEST_SUITE_END() // MatrixMultiplyCore
TEST_SUITE_END() // GEMMLowp