aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
diff options
context:
space:
mode:
authorAnthony Barbier <anthony.barbier@arm.com>2018-07-13 11:35:30 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:54:54 +0000
commit92d20811b7c7da90f6dc0ea7279ea52283780148 (patch)
tree23f739ff3a584cf28b480ea4786178edb30f78ab /src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
parent8ddab14db8ee442edd3b98756c19175ddac232b9 (diff)
downloadComputeLibrary-92d20811b7c7da90f6dc0ea7279ea52283780148.tar.gz
COMPMID-1271 Avoid memory leak in list of gemm methods
Change-Id: I80764d09bf5fb87b3a98bc0e1803d25c6c682c1f Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/139859 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Tested-by: Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp')
-rw-r--r--src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
index 829ae325a9..4579ebd307 100644
--- a/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
+++ b/src/core/NEON/kernels/arm_gemm/gemm_fp16.cpp
@@ -73,11 +73,16 @@ public:
GemmImpl_gemm_fp16_interleaved() : GemmImplementation<__fp16, __fp16>(GemmMethod::GEMM_INTERLEAVED) { }
};
+#if defined(__aarch64__) && (defined(__ARM_FEATURE_VECTOR_ARITHMETIC) || defined(FP16_KERNELS))
+static GemmImpl_gemm_fp16_interleaved_fp16 gemm_fp16_interleaved_fp16_impl{};
+#endif
+static GemmImpl_gemm_fp16_interleaved gemm_fp16_interleaved_impl{};
+
static std::vector<GemmImplementation<__fp16, __fp16> *> gemm_fp16_methods = {
#if defined(__aarch64__) && (defined(__ARM_FEATURE_VECTOR_ARITHMETIC) || defined(FP16_KERNELS))
- new GemmImpl_gemm_fp16_interleaved_fp16(),
+ &gemm_fp16_interleaved_fp16_impl,
#endif
- new GemmImpl_gemm_fp16_interleaved()
+ &gemm_fp16_interleaved_impl
};
template<>