IVGCVSW-3163 Support Neon TransposeConv2d

* NEON support for TransposeConolution2d
* Indentation fix on SpaceToDepth LayerSupport method

Signed-off-by: Keith Davis <keith.davis@arm.com>
Signed-off-by: Sadik Armagan <sadik.armagan@arm.com>
Signed-off-by: Aron Virginas-Tar <aron.virginas-tar@arm.com>

Change-Id: Ie3a01a22e05f62f475f768dfe05ce561d2f3b0ad
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index 26abc16..80695fb 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -47,6 +47,7 @@
 #include "workloads/NeonStackWorkload.hpp"
 #include "workloads/NeonStridedSliceWorkload.hpp"
 #include "workloads/NeonSubtractionWorkload.hpp"
+#include "workloads/NeonTransposeConvolution2dWorkload.hpp"
 #endif
 
 using namespace boost;
@@ -634,4 +635,20 @@
                                    output);
 }
 
+bool NeonLayerSupport::IsTransposeConvolution2dSupported(const TensorInfo& input,
+                                                         const TensorInfo& output,
+                                                         const TransposeConvolution2dDescriptor& descriptor,
+                                                         const TensorInfo& weights,
+                                                         const Optional<TensorInfo>& biases,
+                                                         Optional<std::string&> reasonIfUnsupported) const
+{
+    FORWARD_WORKLOAD_VALIDATE_FUNC(NeonTransposeConvolution2dWorkloadValidate,
+                                   reasonIfUnsupported,
+                                   input,
+                                   output,
+                                   descriptor,
+                                   weights,
+                                   biases);
+}
+
 } // namespace armnn