COMPMID-1086: Optimizing GCGEMM - Add helpers to get target GPU information

This patch moves some of the helper functions in CLHelpers.[h,cpp] to
GPUTarget.[h,cpp] in order to make them avaialable to both CL and GLES backends.

Change-Id: Ib89b05a2084b73eb643b32fac13b8367cc80b6a5
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128988
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/src/runtime/GLES_COMPUTE/functions/GCGEMM.cpp b/src/runtime/GLES_COMPUTE/functions/GCGEMM.cpp
index 0a75a38..79f8f71 100644
--- a/src/runtime/GLES_COMPUTE/functions/GCGEMM.cpp
+++ b/src/runtime/GLES_COMPUTE/functions/GCGEMM.cpp
@@ -38,7 +38,6 @@
 #include "arm_compute/runtime/ITensorAllocator.h"
 
 using namespace arm_compute;
-using namespace arm_compute::gles_compute;
 
 namespace
 {
@@ -92,6 +91,13 @@
     const IGCTensor *matrix_a = a;
     const IGCTensor *matrix_b = b;
 
+    // Get the GPU target
+    const GPUTarget gpu_target = GCScheduler::get().get_target();
+
+    // Set the target for the kernels
+    _interleave_kernel.set_target(gpu_target);
+    _mm_kernel.set_target(gpu_target);
+
     // Arguments used by GEMMReshapeInfo
     // If we pass the matrix A and matrix B reshaped to GCGEMMMatrixMultiplyKernel, we need to pass m, n, k, mult_transpose1xW_width and mult_interleave4x4_height to GCGEMMReshapeInfo
     // in order to know how the matrices have been reshaped