aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
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
parentd976d44a89ab0e4e8bd077f7063030e2e04975aa (diff)
downloadglibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.tar
glibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.tar.gz
glibc-dc1e5eeb25c4bcb1cc0c883a2d67cf93eb252478.tar.bz2
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')
-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