aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2022-11-11 16:31:27 +0000
committerJoe Ramsay <joe.ramsay@arm.com>2022-11-11 16:31:27 +0000
commit2348c662121f3d04e48664638ae76628348a5b7e (patch)
tree2c4de87f3da8ffc254197ed6e06d215b6d1e42ba
parent5b8ac95ba99ec2f903886e88624ca4f0137c274d (diff)
downloadarm-optimized-routines-2348c662121f3d04e48664638ae76628348a5b7e.tar.gz
pl/math: Fix minus zero in vector expm1
Extra special-case check.
-rw-r--r--pl/math/v_expm1_2u5.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pl/math/v_expm1_2u5.c b/pl/math/v_expm1_2u5.c
index 425ad88..7a5818b 100644
--- a/pl/math/v_expm1_2u5.c
+++ b/pl/math/v_expm1_2u5.c
@@ -61,7 +61,8 @@ v_f64_t V_NAME (expm1) (v_f64_t x)
return v_call_f64 (expm1, x, x, v_u64 (-1));
#else
/* Large input, NaNs and Infs. */
- v_u64_t special = v_cond_u64 (ax >= SpecialBound);
+ v_u64_t special
+ = v_cond_u64 ((ax >= SpecialBound) | (ix == 0x8000000000000000));
#endif
/* Reduce argument to smaller range: