This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Mon, May 22, 2000 at 07:30:14AM -0700, Ulrich Drepper wrote: > Jakub Jelinek <jakub@redhat.com> writes: > > > +++ libc/sysdeps/i386/fpu/bits/mathinline.h Mon May 22 16:28:00 2000 > > @@ -367,7 +367,8 @@ __sincosl (long double __x, long double > > ("fscale # 2^int(x * log2(e))\n\t" \ > > : "=t" (__temp) : "0" (1.0), "u" (__exponent)); \ > > __temp -= 1.0; \ > > - return __temp + __value ?: __x > > + __temp += __value; \ > > + return __temp ? __temp : __x > > __inline_mathcodeNP_ (long double, __expm1l, __x, __expm1_code) > > Your change is not preserving the semantics. Once you corrected this > make sure the generated code is the same. There is no reason at all > to make the generated worse code. How does it change semantics? #include <math.h> long double a, b, c; void foo(void) { a = __expm1l(b); } generates identical output with -O2 with unpatched and patched bits/mathinline.h (and similarly with -O2 -ansi -pedantic, though the output is different from plain -O2). Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |