COMPMID-1381: Cleaned up the AssemblyHelper interface

Introduced a new IFunction for when we'll fork the arm_gemm functions
Increased encapsulation and abstraction of which method is used

Change-Id: I5fd8b14b5c77e7f8ecb09029b5e2eccd10dbdcf4
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139108
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
diff --git a/arm_compute/runtime/NEON/functions/NEGEMMLowpAssemblyMatrixMultiplyCore.h b/arm_compute/runtime/NEON/functions/NEGEMMLowpAssemblyMatrixMultiplyCore.h
index 11ca1bc..b6672d7 100644
--- a/arm_compute/runtime/NEON/functions/NEGEMMLowpAssemblyMatrixMultiplyCore.h
+++ b/arm_compute/runtime/NEON/functions/NEGEMMLowpAssemblyMatrixMultiplyCore.h
@@ -29,7 +29,7 @@
 #include "arm_compute/runtime/IFunction.h"
 #include "arm_compute/runtime/IMemoryManager.h"
 #include "arm_compute/runtime/MemoryGroup.h"
-#include "arm_compute/runtime/NEON/AssemblyHelper.h"
+#include "arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h"
 #include "arm_compute/runtime/Tensor.h"
 
 #include <memory>
@@ -58,16 +58,14 @@
     void run() override;
 
 private:
-    MemoryGroup                _memory_group;
-    AssemblyKernelGlueU8U32    _asm_glue_unsigned;
-    AssemblyKernelGlueS8S32    _asm_glue_signed;
-    std::unique_ptr<INEKernel> _mm_kernel;
-    std::unique_ptr<INEKernel> _mtx_a_reshape_kernel;
-    std::unique_ptr<INEKernel> _mtx_b_reshape_kernel;
-    Tensor                     _tmp_a;
-    Tensor                     _tmp_b;
-    Tensor                     _workspace;
-    Tensor                     _B_pretransposed;
+    MemoryGroup                 _memory_group;
+    NEGEMMAssemblyDispatchU8U32 _asm_glue_unsigned;
+    NEGEMMAssemblyDispatchS8S32 _asm_glue_signed;
+    std::unique_ptr<INEKernel>  _mm_kernel;
+    std::unique_ptr<INEKernel>  _mtx_a_reshape_kernel;
+    std::unique_ptr<INEKernel>  _mtx_b_reshape_kernel;
+    Tensor                      _tmp_a;
+    Tensor                      _tmp_b;
 };
 }
 #endif /*__ARM_COMPUTE_NEGEMMLOWPASSEMBLYMATRIXMULTIPLYCORE_H__ */