diff options
author | Joe Ramsay <Joe.Ramsay@arm.com> | 2024-02-20 16:44:13 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2024-04-09 19:58:04 +0100 |
commit | b0e0a07018098c2c5927796be5681a298c312626 (patch) | |
tree | b63fa0f5c87aeb3336c9ad7c00b0546d12e95b2e /sysdeps/aarch64/fpu/sinf_advsimd.c | |
parent | 31c7d69af59da0da80caa74b2ec6ae149013384d (diff) | |
download | glibc-b0e0a07018098c2c5927796be5681a298c312626.tar.gz glibc-b0e0a07018098c2c5927796be5681a298c312626.tar.xz glibc-b0e0a07018098c2c5927796be5681a298c312626.zip |
aarch64/fpu: Sync libmvec routines from 2.39 and before with AOR
This includes a fix for big-endian in AdvSIMD log, some cosmetic changes, and numerous small optimisations mainly around inlining and using indexed variants of MLA intrinsics. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> (cherry picked from commit e302e1021391d13a9611ba3a910df128830bd19e)
Diffstat (limited to 'sysdeps/aarch64/fpu/sinf_advsimd.c')
-rw-r--r-- | sysdeps/aarch64/fpu/sinf_advsimd.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sysdeps/aarch64/fpu/sinf_advsimd.c b/sysdeps/aarch64/fpu/sinf_advsimd.c index 60cf3f2ca1..375dfc3331 100644 --- a/sysdeps/aarch64/fpu/sinf_advsimd.c +++ b/sysdeps/aarch64/fpu/sinf_advsimd.c @@ -67,8 +67,7 @@ float32x4_t VPCS_ATTR NOINLINE V_NAME_F1 (sin) (float32x4_t x) r = vbslq_f32 (cmp, vreinterpretq_f32_u32 (cmp), x); #else r = x; - cmp = vcageq_f32 (d->range_val, x); - cmp = vceqzq_u32 (cmp); /* cmp = ~cmp. */ + cmp = vcageq_f32 (x, d->range_val); #endif /* n = rint(|x|/pi) */ |