Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2013-08-21 | i686: Skip SSE4_2 version for strcmp, strncmp, strncase, strcasecmp | Liubov Dmitrieva | 3 | -0/+12 | |
if bit_Slow_SSE4_2 is set. | |||||
2013-07-05 | Update x86 and x86_64 ulps on AMD FX-8350 with GCC 4.8.1. | Jeroen Albers | 1 | -2/+390 | |
2013-07-03 | Update i386 ULPs. | Allan McRae | 1 | -0/+80 | |
* sysdeps/i386/fpu/libm-test-ulps: Update. | |||||
2013-07-02 | Regenerate x86 and x86_64 ulps. | Joseph Myers | 1 | -760/+86 | |
2013-07-02 | Enable static 32-bit SSE4.2 strcasecmp/strncasecmp | H.J. Lu | 2 | -6/+0 | |
2013-06-28 | Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type. | Ryan S. Arnold | 1 | -1/+1 | |
2013-06-12 | Set/restore rounding mode only when needed | Siddhesh Poyarekar | 1 | -0/+173 | |
The most common use case of math functions is with default rounding mode, i.e. rounding to nearest. Setting and restoring rounding mode is an unnecessary overhead for this, so I've added support for a context, which does the set/restore only if the FP status needs a change. The code is written such that only x86 uses these. Other architectures should be unaffected by it, but would definitely benefit if the set/restore has as much overhead relative to the rest of the code, as the x86 bits do. Here's a summary of the performance improvement due to these improvements; I've only mentioned functions that use the set/restore and have benchmark inputs for x86_64: Before: cos(): ITERS:4.69335e+08: TOTAL:28884.6Mcy, MAX:4080.28cy, MIN:57.562cy, 16248.6 calls/Mcy exp(): ITERS:4.47604e+08: TOTAL:28796.2Mcy, MAX:207.721cy, MIN:62.385cy, 15543.9 calls/Mcy pow(): ITERS:1.63485e+08: TOTAL:28879.9Mcy, MAX:362.255cy, MIN:172.469cy, 5660.86 calls/Mcy sin(): ITERS:3.89578e+08: TOTAL:28900Mcy, MAX:704.859cy, MIN:47.583cy, 13480.2 calls/Mcy tan(): ITERS:7.0971e+07: TOTAL:28902.2Mcy, MAX:1357.79cy, MIN:388.58cy, 2455.55 calls/Mcy After: cos(): ITERS:6.0014e+08: TOTAL:28875.9Mcy, MAX:364.283cy, MIN:45.716cy, 20783.4 calls/Mcy exp(): ITERS:5.48578e+08: TOTAL:28764.9Mcy, MAX:191.617cy, MIN:51.011cy, 19071.1 calls/Mcy pow(): ITERS:1.70013e+08: TOTAL:28873.6Mcy, MAX:689.522cy, MIN:163.989cy, 5888.18 calls/Mcy sin(): ITERS:4.64079e+08: TOTAL:28891.5Mcy, MAX:6959.3cy, MIN:36.189cy, 16062.8 calls/Mcy tan(): ITERS:7.2354e+07: TOTAL:28898.9Mcy, MAX:1295.57cy, MIN:380.698cy, 2503.7 calls/Mcy So the improvements are: cos: 27.9089% exp: 22.6919% pow: 4.01564% sin: 19.1585% tan: 1.96086% The downside of the change is that it will have an adverse performance impact on non-default rounding modes, but I think the tradeoff is justified. | |||||
2013-06-06 | Fix leading whitespaces. | Ondrej Bilka | 4 | -12/+12 | |
2013-05-31 | Link extra-libs consistently with libc and ld.so. | Joseph Myers | 1 | -3/+0 | |
2013-05-29 | Avoid crashing in LD_DEBUG when program name is unavailable | Siddhesh Poyarekar | 1 | -4/+2 | |
Resolves: #15465 The program name may be unavailable if the user application tampers with argc and argv[]. Some parts of the dynamic linker caters for this while others don't, so this patch consolidates the check and fallback into a single macro and updates all users. | |||||
2013-05-24 | Test drem and pow10 in libm-test.inc. | Joseph Myers | 1 | -0/+9 | |
2013-05-24 | Use same tests for isfinite/finite, lgamma/gamma. | Joseph Myers | 1 | -0/+12 | |
2013-05-22 | Don't include expected results in libm-test test names. | Joseph Myers | 1 | -1800/+1800 | |
2013-05-19 | Handle sincos with generic libm-test logic. | Joseph Myers | 1 | -9/+9 | |
2013-05-12 | Convert TEST_ff_f tests from code to data. | Joseph Myers | 1 | -0/+4 | |
2013-05-08 | Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426). | Joseph Myers | 1 | -6/+590 | |
2013-05-01 | Fix catan, catanh spurious underflows (bug 15423). | Joseph Myers | 1 | -0/+144 | |
2013-04-30 | Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416). | Joseph Myers | 1 | -0/+104 | |
2013-04-27 | Fix catan, catanh spurious overflows (bug 15409). | Joseph Myers | 1 | -0/+50 | |
2013-04-27 | Update i386 libm-test ULPs | Allan McRae | 1 | -0/+80 | |
2013-04-24 | Fix catan, catanh inaccuracy through use of log (bug 15394). | Joseph Myers | 1 | -0/+2 | |
2013-04-17 | Configuring for i386 is no longer supported. | Carlos O'Donell | 2 | -2/+22 | |
We no longer support configuring for i386, nor do we elide such a configuration to i686. Configuring with i386-* is a failure, and we provide an example of how to fix that. --- 2013-04-17 Carlos O'Donell <carlos@redhat.com> * configure.in: Remove i386 configure warning. Remove i386 case. * configure: Regenerate. * sysdeps/i386/configure.in: Raise error if config_machine is i386. Add example to error message. * sysdeps/i386/configure: Regenerate. | |||||
2013-04-11 | libm-test.inc: Fix tests where cos(PI/2) != 0. | Carlos O'Donell | 1 | -14/+0 | |
The value of PI is never exactly PI in any floating point representation, and the value of PI/2 is never PI/2. It is wrong to expect cos(M_PI_2l) to return 0, instead it will return an answer that is non-zero because M_PI_2l doesn't round to exactly PI/2 in the type used. That is to say that the correct answer is to do the following: * Take PI or PI/2. * Round to the floating point representation. * Take the rounded value and compute an infinite precision cos or sin. * Use the rounded result of the infinite precision cos or sin as the answer to the test. I used printf to do the type rounding, and Wolfram's Alpha to do the infinite precision cos calculations. The following changes bring x86-64 and x86 to 1/2 ulp for two tests. It shows that the x86 cos implementation is quite good, and that our test are flawed. Unfortunately given that the rounding errors are type dependent we need to fix this for each type. No regressions on x86-64 or x86. --- 2013-04-11 Carlos O'Donell <carlos@redhat.com> * math/libm-test.inc (cos_test): Fix PI/2 test. (sincos_test): Likewise. * sysdeps/x86_64/fpu/libm-test-ulps: Regenerate. * sysdeps/i386/fpu/libm-test-ulps: Regenerate. | |||||
2013-04-06 | i386: Fail at configure time for i386 builds. | Carlos O'Donell | 2 | -0/+58 | |
This change does two things: * Treats a target i386-* as if it were i686. * Fails configure if the user is generating code for i386. We no longer support i386 code-generation because the i386 lacks the atomic operations we need in glibc. You can still configure for i386-*, but you get i686 code. You can't build with --march=i386, --mtune=i386 or a compiler that defaults to i386 code-generation. I've added two i386 entries in the master todo list to discuss merging and renaming: http://sourceware.org/glibc/wiki/Development_Todo/Master#i386 The failure modes are fail-safe here. You compile for i386, get i686, and try to run on i386 and it fails. The configure log has a warning saying we elided to i686. There is no situation that I can see where we run into any serious problems. The patch makes the current state better in that we get less confused users and we build successfully in more default configurations. The next enhancement would be to add --march=i?86 as suggested in #c20 of BZ#10062 for any i?86-* builds, which would solve the problem of a 32-bit compiler that defaults to i386 code-gen and glibc configured for i686-* target. Which previously failed at build time, and now will fail at configure time (requires adding --march=i686). Updated NEWS with BZ #10060 and #10062. No regressions. --- 2013-04-06 Carlos O'Donell <carlos@redhat.com> [BZ #10060, #10062] * aclocal.m4 (LIBC_COMPILER_BUILTIN_INLINED): New macro. * sysdeps/i386/configure.in: Use LIBC_COMPILER_BUILTIN_INLINED and fail configure if __sync_val_compare_and_swap is not inlined. * sysdeps/i386/configure: Regenerate. * configure.in: Build for i686 when configured for i386. * configure: Regenerate. * README: Remove i386 reference. | |||||
2013-04-03 | Refer to two GCC PRs. | Thomas Schwinge | 1 | -1/+2 | |
2013-04-02 | Fix cacosh inaccuracy and spurious exceptions (bug 15327). | Joseph Myers | 1 | -30/+692 | |
2013-03-30 | Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357). | Joseph Myers | 1 | -152/+1030 | |
2013-03-27 | Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307). | Joseph Myers | 1 | -0/+340 | |
2013-03-21 | On 32-bit x86, disable certain tests involving sNaN values. | Thomas Schwinge | 1 | -0/+26 | |
Follow-up to commit 495ded2c8c1eb8c0ac4b54add2dd397852e19cba. | |||||
2013-03-21 | Fix Bessel function spurious overflows for ldbl-128 / ldbl-128ibm (bug 15285). | Joseph Myers | 1 | -0/+6 | |
2013-03-21 | Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287). | Joseph Myers | 1 | -0/+678 | |
2013-03-20 | Move system-specific settings out of toplevel configure.in and config.make.in. | Joseph Myers | 2 | -0/+18 | |
2013-03-16 | Fix y1l spurious overflows for ldbl-96 (bug 15283). | Joseph Myers | 1 | -0/+12 | |
2013-02-21 | Remove remaining bounded-pointers support from i386 .S files. | Joseph Myers | 57 | -470/+306 | |
2013-02-19 | Remove some bounded-pointers support from i386 .S files. | Joseph Myers | 51 | -477/+27 | |
2013-02-15 | Remove bounded-pointers build system support. | Joseph Myers | 1 | -2/+0 | |
2013-02-15 | Remove miscellaneous bounded-pointers relics in C code. | Joseph Myers | 1 | -1/+1 | |
2013-02-14 | Remove bp-sym.h and BP_SYM uses from C code. | Joseph Myers | 4 | -12/+8 | |
2013-02-13 | Remove __ptrvalue, __bounded and __unbounded. | Joseph Myers | 1 | -3/+1 | |
2013-02-04 | Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr. | Joseph Myers | 1 | -3/+0 | |
2013-01-31 | Fix casinh spurious underflows away from [-i,i] (bug 15062). | Joseph Myers | 1 | -0/+180 | |
2013-01-18 | Fix application of the exception mask | Siddhesh Poyarekar | 1 | -1/+1 | |
Fixes BZ #14496. | |||||
2013-01-17 | Fix cacos real-part inaccuracy for result real part near 0 (bug 15023). | Joseph Myers | 1 | -0/+6 | |
2013-01-16 | Implement x86 SIZE32/SIZE64 relocations | H.J. Lu | 1 | -0/+9 | |
2013-01-07 | Fix casinh, casin overflow (bug 14996). | Joseph Myers | 1 | -0/+12 | |
2013-01-05 | Change __x86_64 prefix in cache size to __x86 | H.J. Lu | 1 | -9/+0 | |
2013-01-04 | Fix casinh, casin inaccuracy from cancellation (bug 14994). | Joseph Myers | 1 | -0/+41 | |
2013-01-02 | Update copyright notices with scripts/update-copyrights. | Joseph Myers | 234 | -241/+234 | |
2012-11-28 | Fix powl inaccuracy for x86_64 and x86 (bug 13881). | Joseph Myers | 2 | -30/+34 | |
2012-11-22 | Update i386 libm-test ULPs | Andreas Schwab | 1 | -6/+12 | |