From 565bf2d88df1790373f0ff92b8cc9e90dbf28d11 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Fri, 31 Aug 2018 11:46:49 +0100 Subject: COMPMID-1514: Add validate to NEFloor and CLFloor COMPMID-1515: Add FP16 support to NEFloor and CLFloor Change-Id: Ib63a62c7681056ee13be99ce081b4d3949da4217 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/146547 Tested-by: Jenkins Reviewed-by: Pablo Tello --- arm_compute/core/NEON/NEMath.inl | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'arm_compute/core/NEON/NEMath.inl') diff --git a/arm_compute/core/NEON/NEMath.inl b/arm_compute/core/NEON/NEMath.inl index 1ebc9c10af..2bc1ab7964 100644 --- a/arm_compute/core/NEON/NEMath.inl +++ b/arm_compute/core/NEON/NEMath.inl @@ -175,6 +175,15 @@ inline float32x4_t vpowq_f32(float32x4_t val, float32x4_t n) /** Exponent polynomial coefficients */ /** Logarithm polynomial coefficients */ #ifndef DOXYGEN_SKIP_THIS +inline float16x8_t vfloorq_f16(float16x8_t val) +{ + static const float16x8_t CONST_1 = vdupq_n_f16(1.f); + + const int16x8_t z = vcvtq_s16_f16(val); + const float16x8_t r = vcvtq_f16_s16(z); + + return vbslq_f16(vcgtq_f16(r, val), vsubq_f16(r, CONST_1), r); +} inline float16x4_t vinvsqrt_f16(float16x4_t x) { float16x4_t sqrt_reciprocal = vrsqrte_f16(x); -- cgit v1.2.1