about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--benchtests/Makefile15
-rw-r--r--benchtests/sin-inputs7
-rw-r--r--benchtests/slowsin-inputs7
-rw-r--r--benchtests/slowsin.c19
5 files changed, 52 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index e4b7af4263..0d7e23526e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2013-04-02  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
+	* bench/Makefile (bench): Add sin and slowsin.
+	* benchtests/sin-inputs: New file.
+	* benchtests/slowsin-inputs: New file.
+	* benchtests/slowsin.c: New file.
+
 	* benchtests/Makefile: Add benchmarks for slowpow and slowexp.
 	(bench): Add slowexp and slowpow.
 	(exp-ITER): Increase iterations.
diff --git a/benchtests/Makefile b/benchtests/Makefile
index b3dfbff971..751694aee5 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -45,7 +45,7 @@
 #   See pow-inputs for an example.
 
 subdir := benchtests
-bench := exp pow rint slowexp slowpow
+bench := exp pow rint sin slowexp slowpow slowsin
 
 # exp function fast path
 exp-ITER = 5e8
@@ -71,6 +71,12 @@ slowexp-RET = double
 slowexp-INCLUDE = slowexp.c
 LDFLAGS-bench-slowexp = -lm
 
+# sin function fast path
+sin-ITER = 3e9
+sin-ARGLIST = double
+sin-RET = double
+LDFLAGS-bench-sin = -lm
+
 # pow function slowest path
 slowpow-ITER = 1e5
 slowpow-ARGLIST = double:double
@@ -78,5 +84,12 @@ slowpow-RET = double
 slowpow-INCLUDE = slowpow.c
 LDFLAGS-bench-slowpow = -lm
 
+# sin function slowest path
+slowsin-ITER = 3e7
+slowsin-ARGLIST = double
+slowsin-RET = double
+slowsin-INCLUDE = slowsin.c
+LDFLAGS-bench-slowsin = -lm
+
 include ../Makeconfig
 include ../Rules
diff --git a/benchtests/sin-inputs b/benchtests/sin-inputs
new file mode 100644
index 0000000000..620cea8d98
--- /dev/null
+++ b/benchtests/sin-inputs
@@ -0,0 +1,7 @@
+0.9
+2.3
+3.7
+3.9
+4.0
+4.7
+5.9
diff --git a/benchtests/slowsin-inputs b/benchtests/slowsin-inputs
new file mode 100644
index 0000000000..39daf80b3b
--- /dev/null
+++ b/benchtests/slowsin-inputs
@@ -0,0 +1,7 @@
+0.93340582292648832662962377071381
+2.3328432680770916363144351635128
+3.7439477503636453548097051680088
+3.9225160069792437411706487182528
+4.0711651639931289992091478779912
+4.7858438478542097982426639646292
+5.9840767662578002727968851104379
diff --git a/benchtests/slowsin.c b/benchtests/slowsin.c
new file mode 100644
index 0000000000..b6809bdd7b
--- /dev/null
+++ b/benchtests/slowsin.c
@@ -0,0 +1,19 @@
+/* Define slowsin.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define slowsin sin