summary refs log tree commit diff
path: root/benchtests
diff options
context:
space:
mode:
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-03-29 18:15:28 -0500
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>2013-04-01 06:36:51 -0500
commit60c414c346a1d5ef0510ffbdc0ab75f288ee4d3f (patch)
tree479eb937a9496619acfb24db9a6a48831f9c3fb3 /benchtests
parent6142896d53d0e8e8abe5dd0494380c45acc1a919 (diff)
downloadglibc-60c414c346a1d5ef0510ffbdc0ab75f288ee4d3f.tar.gz
glibc-60c414c346a1d5ef0510ffbdc0ab75f288ee4d3f.tar.xz
glibc-60c414c346a1d5ef0510ffbdc0ab75f288ee4d3f.zip
PowerPC: remove branch prediction from rint implementation
The branch prediction hints is actually hurts performance in this case.
The assembly implementation make two assumptions: 1. 'fabs (x) < 2^52'
is unlikely and 2. 'x > 0.0' is unlike (if 1. is true). Since it a
general floating point function, expected input is not bounded and then
it is better to let the hardware handle the branches.
Diffstat (limited to 'benchtests')
-rw-r--r--benchtests/Makefile7
-rw-r--r--benchtests/rint-inputs4
2 files changed, 10 insertions, 1 deletions
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 74938b925c..cc54b81faa 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -43,7 +43,7 @@
 #   See pow-inputs for an example.
 
 subdir := benchtests
-bench := exp pow
+bench := exp pow rint
 
 exp-ITER = 100000
 exp-ARGLIST = double
@@ -55,5 +55,10 @@ pow-ARGLIST = double:double
 pow-RET = double
 LDFLAGS-bench-pow = -lm
 
+rint-ITER = 250000000
+rint-ARGLIST = double
+rint-RET = double
+LDFLAGS-bench-rint = -lm
+
 include ../Makeconfig
 include ../Rules
diff --git a/benchtests/rint-inputs b/benchtests/rint-inputs
new file mode 100644
index 0000000000..a5f83dc8f9
--- /dev/null
+++ b/benchtests/rint-inputs
@@ -0,0 +1,4 @@
+78.5
+-78.5
+4503599627370497.0
+-4503599627370497.0