From 77425c63e72bc0c01d81bc7e9ba4bb41d11679e6 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 22 Oct 2011 13:17:30 -0400 Subject: Add branch predictions to complex math code --- math/s_clogf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'math/s_clogf.c') diff --git a/math/s_clogf.c b/math/s_clogf.c index b9e918968b..fdda83e548 100644 --- a/math/s_clogf.c +++ b/math/s_clogf.c @@ -1,5 +1,5 @@ /* Compute complex natural logarithm. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. @@ -31,7 +31,7 @@ __clogf (__complex__ float x) int rcls = fpclassify (__real__ x); int icls = fpclassify (__imag__ x); - if (rcls == FP_ZERO && icls == FP_ZERO) + if (__builtin_expect (rcls == FP_ZERO && icls == FP_ZERO, 0)) { /* Real and imaginary part are 0.0. */ __imag__ result = signbit (__real__ x) ? M_PI : 0.0; @@ -39,7 +39,7 @@ __clogf (__complex__ float x) /* Yes, the following line raises an exception. */ __real__ result = -1.0 / fabsf (__real__ x); } - else if (rcls != FP_NAN && icls != FP_NAN) + else if (__builtin_expect (rcls != FP_NAN && icls != FP_NAN, 1)) { /* Neither real nor imaginary part is NaN. */ __real__ result = __ieee754_logf (__ieee754_hypotf (__real__ x, -- cgit v1.2.3