about summary refs log tree commit diff
path: root/sysdeps/aarch64/fpu/sinf_advsimd.c
diff options
context:
space:
mode:
authorJoe Ramsay <Joe.Ramsay@arm.com>2024-02-20 16:44:13 +0000
committerWilco Dijkstra <wilco.dijkstra@arm.com>2024-04-09 19:58:04 +0100
commitb0e0a07018098c2c5927796be5681a298c312626 (patch)
treeb63fa0f5c87aeb3336c9ad7c00b0546d12e95b2e /sysdeps/aarch64/fpu/sinf_advsimd.c
parent31c7d69af59da0da80caa74b2ec6ae149013384d (diff)
downloadglibc-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.c3
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) */