aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86_64/fpu/libm-test-ulps
diff options
context:
space:
mode:
authorLiubov Dmitrieva <liubov.dmitrieva@gmail.com>2012-09-03 15:32:13 +0200
committerAndreas Jaeger <aj@suse.de>2012-09-03 15:32:13 +0200
commit4ffffbd272264f083f35783ed81339304025f855 (patch)
treecdd72337981ee00f9c6e48c80905918d8d7feaab /sysdeps/x86_64/fpu/libm-test-ulps
parent511fa2864a8d01a09b23a6b8b9a599429b7055f6 (diff)
downloadglibc-4ffffbd272264f083f35783ed81339304025f855.tar
glibc-4ffffbd272264f083f35783ed81339304025f855.tar.gz
glibc-4ffffbd272264f083f35783ed81339304025f855.tar.bz2
glibc-4ffffbd272264f083f35783ed81339304025f855.zip
Add optimized sinf and cosf routines for x86 and x86-64
* sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines): Add s_sinf-sse2, s_conf-sse2. * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: New file. * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: New file. * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: New file. * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: New file. * sysdeps/ieee754/flt-32/s_sinf.c (SINF, SINF_FUNC): Add macros for using routine as __sinf_ia32. Use macro for function declaration and weak_alias. * sysdeps/ieee754/flt-32/s_cosf.c (COSF, COSF_FUNC): Add macros for using routine as __cosf_ia32. Use macro for function declaration and weak_alias. * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Fix Copyright. * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Fix Copyright. * sysdeps/x86_64/fpu/s_sinf.S: New file. * sysdeps/x86_64/fpu/s_cosf.S: New file. * sysdeps/x86_64/fpu/libm-test-ulps: Update. * math/libm-test.inc (cos_test): Add more test cases. (sin_test): Likewise. (sincos_test): Likewise.
Diffstat (limited to 'sysdeps/x86_64/fpu/libm-test-ulps')
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps35
1 files changed, 31 insertions, 4 deletions
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index 8a38221133..eb02222d23 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1208,6 +1208,8 @@ ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_downward (10) == -0.8390715290764524522588639478240648345199":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_downward (2) == -0.4161468365471423869975682295007621897660":
@@ -1239,6 +1241,8 @@ ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_downward (9) == -0.9111302618846769883682947111811653112463":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -1285,15 +1289,22 @@ ildouble: 1
ldouble: 1
# cos_upward
+Test "cos_upward (1) == 0.5403023058681397174009366074429766037323":
+float: 1
+ifloat: 1
Test "cos_upward (10) == -0.8390715290764524522588639478240648345199":
float: 1
ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_upward (2) == -0.4161468365471423869975682295007621897660":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_upward (3) == -0.9899924966004454572715727947312613023937":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_upward (4) == -0.6536436208636119146391681830977503814241":
@@ -1311,6 +1322,8 @@ Test "cos_upward (7) == 0.7539022543433046381411975217191820122183":
float: 1
ifloat: 1
Test "cos_upward (8) == -0.1455000338086135258688413818311946826093":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "cos_upward (9) == -0.9111302618846769883682947111811653112463":
@@ -2319,6 +2332,8 @@ Test "sin_downward (8) == 0.9893582466233817778081235982452886721164":
ildouble: 1
ldouble: 1
Test "sin_downward (9) == 0.4121184852417565697562725663524351793439":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -2374,6 +2389,8 @@ Test "sin_upward (1) == 0.8414709848078965066525023216302989996226":
float: 1
ifloat: 1
Test "sin_upward (10) == -0.5440211108893698134047476618513772816836":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "sin_upward (2) == 0.9092974268256816953960198659117448427023":
@@ -2382,6 +2399,8 @@ ifloat: 2
ildouble: 1
ldouble: 1
Test "sin_upward (3) == 0.1411200080598672221007448028081102798469":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "sin_upward (4) == -0.7568024953079282513726390945118290941359":
@@ -2390,11 +2409,19 @@ ifloat: 1
ildouble: 1
ldouble: 1
Test "sin_upward (5) == -0.9589242746631384688931544061559939733525":
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
Test "sin_upward (6) == -0.2794154981989258728115554466118947596280":
ildouble: 1
ldouble: 1
+Test "sin_upward (7) == 0.6569865987187890903969990915936351779369":
+float: 1
+ifloat: 1
+Test "sin_upward (8) == 0.9893582466233817778081235982452886721164":
+float: 1
+ifloat: 1
Test "sin_upward (9) == 0.4121184852417565697562725663524351793439":
float: 1
ifloat: 1
@@ -3052,8 +3079,8 @@ ildouble: 1
ldouble: 1
Function: "cos_upward":
-float: 2
-ifloat: 2
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1
@@ -3412,8 +3439,8 @@ ildouble: 1
ldouble: 1
Function: "sin_upward":
-float: 2
-ifloat: 2
+float: 1
+ifloat: 1
ildouble: 1
ldouble: 1