Blame SOURCES/glibc-rh731837-33A.patch
|
|
12745e |
--- glibc-2.17-c758a686/sysdeps/powerpc/power7/fpu/s_logbl.c 2014-09-10 20:52:01.813168232 -0400
|
|
|
12745e |
+++ glibc-2.17-c758a686/sysdeps/powerpc/power7/fpu/s_logbl.c 2014-01-02 13:16:41.441557403 -0500
|
|
|
5de29b |
@@ -1,5 +1,5 @@
|
|
|
5de29b |
/* logbl(). PowerPC/POWER7 version.
|
|
|
5de29b |
- Copyright (C) 2012 Free Software Foundation, Inc.
|
|
|
5de29b |
+ Copyright (C) 2012-2014 Free Software Foundation, Inc.
|
|
|
5de29b |
This file is part of the GNU C Library.
|
|
|
5de29b |
|
|
|
5de29b |
The GNU C Library is free software; you can redistribute it and/or
|
|
|
5de29b |
@@ -35,14 +35,14 @@
|
|
|
5de29b |
long double
|
|
|
5de29b |
__logbl (long double x)
|
|
|
5de29b |
{
|
|
|
5de29b |
- double xh, xl;
|
|
|
5de29b |
+ double xh;
|
|
|
5de29b |
double ret;
|
|
|
5de29b |
|
|
|
5de29b |
if (__builtin_expect (x == 0.0L, 0))
|
|
|
5de29b |
/* Raise FE_DIVBYZERO and return -HUGE_VAL[LF]. */
|
|
|
5de29b |
return -1.0L / __builtin_fabsl (x);
|
|
|
5de29b |
|
|
|
5de29b |
- ldbl_unpack (x, &xh, &xl);
|
|
|
5de29b |
+ xh = ldbl_high (x);
|
|
|
5de29b |
/* ret = x & 0x7ff0000000000000; */
|
|
|
5de29b |
asm (
|
|
|
5de29b |
"xxland %x0,%x1,%x2\n"
|
|
|
5de29b |
@@ -58,15 +58,14 @@
|
|
|
5de29b |
{
|
|
|
5de29b |
/* POSIX specifies that denormal number is treated as
|
|
|
5de29b |
though it were normalized. */
|
|
|
5de29b |
- int64_t lx, hx;
|
|
|
5de29b |
+ int64_t hx;
|
|
|
5de29b |
|
|
|
5de29b |
- GET_LDOUBLE_WORDS64 (hx, lx, x);
|
|
|
5de29b |
+ EXTRACT_WORDS64 (hx, xh);
|
|
|
5de29b |
return (long double) (-1023 - (__builtin_clzll (hx) - 12));
|
|
|
5de29b |
}
|
|
|
5de29b |
/* Test to avoid logb_downward (0.0) == -0.0. */
|
|
|
5de29b |
return ret == -0.0 ? 0.0 : ret;
|
|
|
5de29b |
}
|
|
|
5de29b |
-
|
|
|
5de29b |
#ifndef __logbl
|
|
|
5de29b |
long_double_symbol (libm, __logbl, logbl);
|
|
|
5de29b |
#endif
|