IVGCVSW-3399 Add support of QuantisedSymm16 to Pad

 * Add support of QuantisedSymm16 to Pad
 * Fix custom padding tests
 * Add unit tests for Pad QuantisedSymm16

Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: Ieb9a4492760b13fa030a42eb4d38fd9ffd7a8c76
diff --git a/src/backends/reference/RefWorkloadFactory.cpp b/src/backends/reference/RefWorkloadFactory.cpp
index 9a31533..183103c 100644
--- a/src/backends/reference/RefWorkloadFactory.cpp
+++ b/src/backends/reference/RefWorkloadFactory.cpp
@@ -402,7 +402,11 @@
 std::unique_ptr<IWorkload> RefWorkloadFactory::CreatePad(const PadQueueDescriptor& descriptor,
                                                  const WorkloadInfo& info) const
 {
-    return MakeWorkload<RefPadFloat32Workload, RefPadUint8Workload>(descriptor, info);
+    if (IsQSymm16(info))
+    {
+        return std::make_unique<RefPadQSymm16Workload>(descriptor, info);
+    }
+    return MakeWorkload<RefPadFloat32Workload, RefPadQAsymm8Workload>(descriptor, info);
 }
 
 std::unique_ptr<IWorkload> RefWorkloadFactory::CreateEqual(const EqualQueueDescriptor& descriptor,