about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2022-05-31 13:09:38 +0200
committerAndreas Schwab <schwab@suse.de>2022-06-01 10:29:52 +0200
commitdc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478 (patch)
tree4064d9da2fa13bcacbf498fe6de9709bfbd754a7 /sysdeps/ieee754/dbl-64
parentd976d44a89ab0e4e8bd077f7063030e2e04975aa (diff)
downloadglibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.tar.gz
glibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.tar.xz
glibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.zip
x86_64: Optimize sincos where sin/cos is optimized (bug 29193)
The compiler may substitute calls to sin or cos with calls to sincos, thus
we should have the same optimized implementations for sincos.  The
optimized implementations may produce results that differ, that also makes
sure that the sincos call aggrees with the sin and cos calls.
Diffstat (limited to 'sysdeps/ieee754/dbl-64')
-rw-r--r--sysdeps/ieee754/dbl-64/s_sincos.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/ieee754/dbl-64/s_sincos.c b/sysdeps/ieee754/dbl-64/s_sincos.c
index 12c3021e66..890c137ebb 100644
--- a/sysdeps/ieee754/dbl-64/s_sincos.c
+++ b/sysdeps/ieee754/dbl-64/s_sincos.c
@@ -24,10 +24,15 @@
 #include <math-underflow.h>
 #include <libm-alias-double.h>
 
+#ifndef SECTION
+# define SECTION
+#endif
+
 #define IN_SINCOS
 #include "s_sin.c"
 
 void
+SECTION
 __sincos (double x, double *sinx, double *cosx)
 {
   mynumber u;
@@ -100,4 +105,6 @@ __sincos (double x, double *sinx, double *cosx)
 
   *sinx = *cosx = x / x;
 }
+#ifndef __sincos
 libm_alias_double (__sincos, sincos)
+#endif