diff --git a/src/armnn/SerializeLayerParameters.cpp b/src/armnn/SerializeLayerParameters.cpp
index d7f3803..209be48 100644
--- a/src/armnn/SerializeLayerParameters.cpp
+++ b/src/armnn/SerializeLayerParameters.cpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017,2022 Arm Ltd. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #include "SerializeLayerParameters.hpp"
@@ -26,6 +26,15 @@
     fn("DataLayout", GetDataLayoutName(desc.m_DataLayout));
 }
 
+void StringifyLayerParameters<BatchMatMulDescriptor>::Serialize(ParameterStringifyFunction& fn,
+                                                                const BatchMatMulDescriptor& desc)
+{
+    fn("TransposeX", (desc.m_TransposeX ? "true" : "false"));
+    fn("TransposeX", (desc.m_TransposeY ? "true" : "false"));
+    fn("AdjointX", (desc.m_AdjointX ? "true" : "false"));
+    fn("AdjointY", (desc.m_AdjointY ? "true" : "false"));
+}
+
 void StringifyLayerParameters<BatchToSpaceNdDescriptor>::Serialize(ParameterStringifyFunction& fn,
                                                                    const BatchToSpaceNdDescriptor& desc)
 {
@@ -198,6 +207,12 @@
     fn("TransposeWeightMatrix", (desc.m_TransposeWeightMatrix ? "true" : "false"));
 }
 
+void StringifyLayerParameters<GatherDescriptor>::Serialize(ParameterStringifyFunction& fn,
+                                                           const GatherDescriptor& desc)
+{
+    fn("Axis", std::to_string(desc.m_Axis));
+}
+
 void StringifyLayerParameters<L2NormalizationDescriptor>::Serialize(ParameterStringifyFunction& fn,
                                                                     const L2NormalizationDescriptor& desc)
 {
diff --git a/src/armnn/SerializeLayerParameters.hpp b/src/armnn/SerializeLayerParameters.hpp
index d2c7d76..b786c53 100644
--- a/src/armnn/SerializeLayerParameters.hpp
+++ b/src/armnn/SerializeLayerParameters.hpp
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017,2022 Arm Ltd. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 #pragma once
@@ -35,6 +35,11 @@
     static void Serialize(ParameterStringifyFunction& fn, const BatchNormalizationDescriptor& desc);
 };
 
+template <> struct StringifyLayerParameters<BatchMatMulDescriptor>
+{
+    static void Serialize(ParameterStringifyFunction& fn, const BatchMatMulDescriptor& desc);
+};
+
 template <> struct StringifyLayerParameters<BatchToSpaceNdDescriptor>
 {
     static void Serialize(ParameterStringifyFunction& fn, const BatchToSpaceNdDescriptor& desc);
@@ -85,6 +90,11 @@
     static void Serialize(ParameterStringifyFunction& fn, const FullyConnectedDescriptor& desc);
 };
 
+template <> struct StringifyLayerParameters<GatherDescriptor>
+{
+    static void Serialize(ParameterStringifyFunction& fn, const GatherDescriptor& desc);
+};
+
 template <> struct StringifyLayerParameters<L2NormalizationDescriptor>
 {
     static void Serialize(ParameterStringifyFunction& fn, const L2NormalizationDescriptor& desc);
