IVGCVSW-7568 Implement Sub ElementwiseBinary operator GpuFsa

* Added support for Gpu Sub operator
* Added unit tests

Signed-off-by: John Mcloughlin <john.mcloughlin@arm.com>
Change-Id: I1efaa485772a3716e3781566843bd50bd9bab811
diff --git a/src/backends/gpuFsa/GpuFsaLayerSupport.cpp b/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
index e98275c..2e5c7d5 100644
--- a/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
+++ b/src/backends/gpuFsa/GpuFsaLayerSupport.cpp
@@ -13,6 +13,7 @@
 #include "layers/GpuFsaConvolution2d.hpp"
 #include "layers/GpuFsaDepthwiseConvolution2d.hpp"
 #include "layers/GpuFsaElementwiseBinaryAdd.hpp"
+#include "layers/GpuFsaElementwiseBinarySub.hpp"
 #endif
 
 #include <vector>
@@ -144,6 +145,13 @@
                                             infos[0],
                                             infos[1]);
             }
+            else if (desc->m_Operation == BinaryOperation::Sub)
+            {
+                FORWARD_LAYER_VALIDATE_FUNC(GpuFsaElementwiseBinarySubValidate,
+                                            reasonIfUnsupported,
+                                            infos[0],
+                                            infos[1]);
+            }
             else
             {
                 throw InvalidArgumentException("Invalid ElementwiseBinary BinaryOperation operation.");