IVGCVSW-3353 Add CL support and tests for SpaceToDepth

 * Added CL backend support for SpaceToDepth.
 * Enabled unit tests for SpaceToDepth on CL.
 * Renamed unit tests to make them type-agnostic.
 * Added QSymm16/S16 support to ClTensorHandle.

Signed-off-by: James Conroy <james.conroy@arm.com>
Change-Id: I417d82946142ed619c447428bf0b0c4a2116c004
diff --git a/src/backends/backendsCommon/test/LayerTests.cpp b/src/backends/backendsCommon/test/LayerTests.cpp
index 56c0ab6..5c41d3a 100644
--- a/src/backends/backendsCommon/test/LayerTests.cpp
+++ b/src/backends/backendsCommon/test/LayerTests.cpp
@@ -9421,7 +9421,7 @@
     armnn::IWorkloadFactory& workloadFactory,
     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
 {
-    return SpaceToDepthSimpleTest<armnn::DataType::QuantisedAsymm8>(
+    return SpaceToDepthSimpleTest1<armnn::DataType::QuantisedAsymm8>(
         workloadFactory,
         memoryManager);
 }
@@ -9430,26 +9430,64 @@
     armnn::IWorkloadFactory& workloadFactory,
     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
 {
-    return SpaceToDepthSimpleTest<armnn::DataType::QuantisedAsymm8>(
+    return SpaceToDepthSimpleTest1<armnn::DataType::QuantisedAsymm8>(
         workloadFactory,
         memoryManager,
         armnn::DataLayout::NCHW);
 }
 
-LayerTestResult<float, 4> SpaceToDepthNHWCFloat32Test(
+LayerTestResult<float, 4> SpaceToDepthNHWCFloat32Test1(
     armnn::IWorkloadFactory& workloadFactory,
     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
 {
-    return SpaceToDepthFloatTest<armnn::DataType::Float32>(
+    return SpaceToDepthSimpleTest1<armnn::DataType::Float32>(
         workloadFactory,
         memoryManager);
 }
 
-LayerTestResult<float, 4> SpaceToDepthNCHWFloat32Test(
+LayerTestResult<float, 4> SpaceToDepthNCHWFloat32Test1(
     armnn::IWorkloadFactory& workloadFactory,
     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
 {
-    return SpaceToDepthFloatTest<armnn::DataType::Float32>(
+    return SpaceToDepthSimpleTest1<armnn::DataType::Float32>(
+        workloadFactory,
+        memoryManager,
+        armnn::DataLayout::NCHW);
+}
+
+LayerTestResult<float, 4> SpaceToDepthNHWCFloat32Test2(
+    armnn::IWorkloadFactory& workloadFactory,
+    const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
+{
+    return SpaceToDepthSimpleTest2<armnn::DataType::Float32>(
+        workloadFactory,
+        memoryManager);
+}
+
+LayerTestResult<float, 4> SpaceToDepthNCHWFloat32Test2(
+    armnn::IWorkloadFactory& workloadFactory,
+    const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
+{
+    return SpaceToDepthSimpleTest2<armnn::DataType::Float32>(
+        workloadFactory,
+        memoryManager,
+        armnn::DataLayout::NCHW);
+}
+
+LayerTestResult<int16_t, 4> SpaceToDepthNHWCQSymm16Test(
+    armnn::IWorkloadFactory& workloadFactory,
+    const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
+{
+    return SpaceToDepthSimpleTest2<armnn::DataType::QuantisedSymm16>(
+        workloadFactory,
+        memoryManager);
+}
+
+LayerTestResult<int16_t, 4> SpaceToDepthNCHWQSymm16Test(
+    armnn::IWorkloadFactory& workloadFactory,
+    const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager)
+{
+    return SpaceToDepthSimpleTest2<armnn::DataType::QuantisedSymm16>(
         workloadFactory,
         memoryManager,
         armnn::DataLayout::NCHW);