diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-11-08 18:55:36 +0000 |
---|---|---|
committer | Anthony Barbier <Anthony.barbier@arm.com> | 2018-11-09 09:14:18 +0000 |
commit | 027ce5b7234f694cb9047ac970aa1457d683c471 (patch) | |
tree | 58b3a90bf8f4cfcfa8c71f49901f65e8d6735d32 /src/core | |
parent | 1e9289654dffaecd8e7c7300c83a2487494ee268 (diff) | |
download | ComputeLibrary-027ce5b7234f694cb9047ac970aa1457d683c471.tar.gz |
COMPMID-1451: Perform two steps in calculating sqrt in NEPoolingLayer
Increases the steps for calculating invsqrt used in L2 pool by 1 to increase accuracy.
Change-Id: Ib938a963809b07c30d47ec0675abae75bc086986
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/NEON/kernels/NEPoolingLayerKernel.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp index fdd3410b40..f5d5281884 100644 --- a/src/core/NEON/kernels/NEPoolingLayerKernel.cpp +++ b/src/core/NEON/kernels/NEPoolingLayerKernel.cpp @@ -1828,8 +1828,7 @@ void NEPoolingLayerKernel::poolingMxN_f32_nhwc(const Window &window_input, const // Calculate square-root in case of l2 pooling if(pooling_type == PoolingType::L2) { - float32x4_t sqrt_reciprocal = vrsqrteq_f32(vres); - vres = vmulq_f32(vres, vmulq_f32(vrsqrtsq_f32(vmulq_f32(vres, sqrt_reciprocal), sqrt_reciprocal), sqrt_reciprocal)); + vres = vmulq_f32(vres, vinvsqrtq_f32(vres)); } // Store result |