IVGCVSW-3813 Add Unary Elementwise Operation 'NEG' support to the android-nn-driver

* Implemented ClNegWorkload
* Implemented NeonNegWorkload
* Enabled 'NEG' operator on CL and Neon as well as Ref
* Implemented unit tests for 'NEG' operator

Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Change-Id: I3d7a892692716636cae6bdf8ddd238e3d1ea064f
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index cc7dca0..bf26d82 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -218,9 +218,8 @@
     return std::make_unique<NeonDivisionWorkload>(descriptor, info);
 }
 
-std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor&
-                                                                       descriptor,
-                                                                       const WorkloadInfo& info) const
+std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateElementwiseUnary(
+    const ElementwiseUnaryQueueDescriptor& descriptor, const WorkloadInfo& info) const
 {
     if (descriptor.m_Parameters.m_Operation == UnaryOperation::Abs)
     {
@@ -238,6 +237,10 @@
 
         return std::make_unique<NeonRsqrtWorkload>(rsqrtQueueDescriptor, info);
     }
+    else if (descriptor.m_Parameters.m_Operation == UnaryOperation::Neg)
+    {
+        return std::make_unique<NeonNegWorkload>(descriptor, info);
+    }
     return MakeWorkloadHelper<NullWorkload, NullWorkload>(descriptor, info);
 }