aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonLayerSupport.cpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-10-16 17:45:38 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-10-21 08:52:04 +0000
commit77bfb5e32faadb1383d48364a6f54adbff84ad80 (patch)
tree0bf5dfb48cb8d5c248baf716f02b9f481400316e /src/backends/neon/NeonLayerSupport.cpp
parent5884708e650a80e355398532bc320bbabdbb53f4 (diff)
downloadarmnn-77bfb5e32faadb1383d48364a6f54adbff84ad80.tar.gz
IVGCVSW-3993 Add frontend and reference workload for ComparisonLayer
* Added frontend for ComparisonLayer * Added RefComparisonWorkload * Deprecated and removed Equal and Greater layers and workloads * Updated tests to ensure backward compatibility Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: Id50c880be1b567c531efff919c0c366d0a71cbe9
Diffstat (limited to 'src/backends/neon/NeonLayerSupport.cpp')
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index 270cb6264f..cc96f63c1a 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -180,6 +180,24 @@ bool NeonLayerSupport::IsBatchNormalizationSupported(const TensorInfo& input,
descriptor);
}
+bool NeonLayerSupport::IsComparisonSupported(const TensorInfo& input0,
+ const TensorInfo& input1,
+ const TensorInfo& output,
+ const ComparisonDescriptor& descriptor,
+ Optional<std::string&> reasonIfUnsupported) const
+{
+ if (descriptor.m_Operation == ComparisonOperation::Greater)
+ {
+ FORWARD_WORKLOAD_VALIDATE_FUNC(NeonGreaterWorkloadValidate,
+ reasonIfUnsupported,
+ input0,
+ input1,
+ output);
+ }
+
+ return false;
+}
+
bool NeonLayerSupport::IsConcatSupported(const std::vector<const TensorInfo*> inputs,
const TensorInfo& output,
const ConcatDescriptor& descriptor,
@@ -354,11 +372,8 @@ bool NeonLayerSupport::IsGreaterSupported(const armnn::TensorInfo& input0,
const armnn::TensorInfo& output,
armnn::Optional<std::string&> reasonIfUnsupported) const
{
- FORWARD_WORKLOAD_VALIDATE_FUNC(NeonGreaterWorkloadValidate,
- reasonIfUnsupported,
- input0,
- input1,
- output);
+ ComparisonDescriptor descriptor(ComparisonOperation::Greater);
+ return IsComparisonSupported(input0, input1, output, descriptor, reasonIfUnsupported);
}
bool NeonLayerSupport::IsInputSupported(const TensorInfo& input,