From 18e20ff8bc31bd835e96b46c0beb5435c76572bd Mon Sep 17 00:00:00 2001 From: Michalis Spyrou Date: Wed, 6 May 2020 17:03:59 +0100 Subject: COMPMID-3460: Refactor NEElementwiseUnaryKernel Removed most of the templates and refactored the code. Performance is the same but the libary size dropped by 52Kb. Change-Id: I41ff0c0853c923d925cdaeb05f4a58c9086fff94 Signed-off-by: Michalis Spyrou Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3190 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins --- arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h') diff --git a/arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h b/arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h index 2bf9f52dbe..77adcf7b8c 100644 --- a/arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h +++ b/arm_compute/core/NEON/wrapper/intrinsics/invsqrt.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -37,10 +37,18 @@ namespace wrapper return prefix##_##postfix(a); \ } +#define VINVSQRT_IMPL_INT(stype, vtype, prefix, postfix) \ + inline vtype vinvsqrt(const vtype &a) \ + { \ + ARM_COMPUTE_UNUSED(a); \ + ARM_COMPUTE_ERROR("Not supported"); \ + } + VINVSQRT_IMPL(float, float32x2_t, vinvsqrt, f32) #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC VINVSQRT_IMPL(float16_t, float16x4_t, vinvsqrt, f16) #endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC +VINVSQRT_IMPL_INT(int, int32x4_t, vinvsqrt, s32) VINVSQRT_IMPL(float, float32x4_t, vinvsqrtq, f32) #ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC -- cgit v1.2.1