about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-10-21 12:28:42 -0400
committerUlrich Drepper <drepper@gmail.com>2011-10-21 12:28:42 -0400
commit8ec250a48425e8640fc01504bc1a42b63467768e (patch)
tree46440b603180fd469a582d310d3cbace628b2b81
parent1a97a8c78f9b99d835581f14fc6beb57cb93e97a (diff)
downloadglibc-8ec250a48425e8640fc01504bc1a42b63467768e.tar.gz
glibc-8ec250a48425e8640fc01504bc1a42b63467768e.tar.xz
glibc-8ec250a48425e8640fc01504bc1a42b63467768e.zip
Add some __builtin_expect to generic __ieee754_log
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/ieee754/dbl-64/e_log.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index b2d629b953..404e1fe49c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-10-21  Ulrich Drepper  <drepper@gmail.com>
+
+	* sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Add a few more
+	__builtin_expect.
+
 2011-10-20  Ulrich Drepper  <drepper@gmail.com>
 
 	* sysdeps/i386/configure.in: Test for -mfma4 option.
diff --git a/sysdeps/ieee754/dbl-64/e_log.c b/sysdeps/ieee754/dbl-64/e_log.c
index 5d320db994..0fc6f920a6 100644
--- a/sysdeps/ieee754/dbl-64/e_log.c
+++ b/sysdeps/ieee754/dbl-64/e_log.c
@@ -1,7 +1,7 @@
 /*
  * IBM Accurate Mathematical Library
  * written by International Business Machines Corp.
- * Copyright (C) 2001 Free Software Foundation
+ * Copyright (C) 2001, 2011 Free Software Foundation
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
@@ -68,7 +68,7 @@ double __ieee754_log(double x) {
 
   num.d = x;  ux = num.i[HIGH_HALF];  dx = num.i[LOW_HALF];
   n=0;
-  if (ux < 0x00100000) {
+  if (__builtin_expect(ux < 0x00100000, 0)) {
     if (__builtin_expect(((ux & 0x7fffffff) | dx) == 0, 0))
       return MHALF/ZERO; /* return -INF */
     if (__builtin_expect(ux < 0, 0))
@@ -82,7 +82,7 @@ double __ieee754_log(double x) {
   /* Regular values of x */
 
   w = x-ONE;
-  if (ABS(w) > U03) { goto case_03; }
+  if (__builtin_expect(ABS(w) > U03, 1)) { goto case_03; }
 
 
   /*--- Stage I, the case abs(x-1) < 0.03 */