IVGCVSW-6498 Add Support for Batch MatMul to TfLite Delegate

 * Creates delegate/src/BatchMatMul.hpp
 * Add VisitBatchMatMul function
 * Add BatchMatMul to switch in armnn_delegate
 * Creates delegate/src/test/BatchMatMulTest.cpp
 * Creates delegate/src/test/BatchMatMulTestHelper.hpp
 * Add Int8 and Fp32 unit tests on ref backend
 * Add BatchMatMul to delegate supported ops

Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: I50e61314cf063f986c8a0f7d508847a96953735e
diff --git a/delegate/src/armnn_delegate.cpp b/delegate/src/armnn_delegate.cpp
index c041dd1..21c66fe 100644
--- a/delegate/src/armnn_delegate.cpp
+++ b/delegate/src/armnn_delegate.cpp
@@ -9,6 +9,7 @@
 
 #include "Activation.hpp"
 #include "ArgMinMax.hpp"
+#include "BatchMatMul.hpp"
 #include "BatchSpace.hpp"
 #include "Comparison.hpp"
 #include "Convolution.hpp"
@@ -566,6 +567,12 @@
                                         tfLiteNode,
                                         nodeIndex,
                                         kTfLiteBuiltinAveragePool2d);
+        case kTfLiteBuiltinBatchMatmul:
+            return VisitBatchMatMulOperator(delegateData,
+                                            tfLiteContext,
+                                            tfLiteNode,
+                                            nodeIndex,
+                                            kTfLiteBuiltinBatchMatmul);
         case kTfLiteBuiltinBatchToSpaceNd:
             return VisitBatchToSpaceNdOperator(delegateData,
                                                tfLiteContext,