about summary refs log tree commit diff
path: root/sysdeps/x86_64
Commit message (Collapse)AuthorAgeFilesLines
* Set fast unaligned load flag for new Intel microarchitectureLiubov Dmitrieva2013-06-141-0/+7
| | | | | | | | | I have small patch for new Intel Silvermont machines. http://newsroom.intel.com/community/intel_newsroom/blog/2013/05/06/intel-launches-low-power-high-performance-silvermont-microarchitecture I checked this on my machine and see that strcpy, ... unaligned versions are faster than ssse3 versions.
* Add rtld-memset.S for x86_64Siddhesh Poyarekar2013-06-152-1/+37
| | | | | | Resolves: BZ #15627 Add an assembler version of rtld-memset to avoid using SSE registers.
* Remove trailing whitespace.Joseph Myers2013-06-053-3/+3
|
* Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar2013-05-291-3/+1
| | | | | | | | | 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.
* Test drem and pow10 in libm-test.inc.Joseph Myers2013-05-241-0/+26
|
* Use same tests for isfinite/finite, lgamma/gamma.Joseph Myers2013-05-241-0/+16
|
* Don't include expected results in libm-test test names.Joseph Myers2013-05-221-2154/+2154
|
* Faster memset on x64Ondrej Bilka2013-05-201-1315/+90
| | | | | | | | | This implementation speed up memset in several ways. First is avoiding expensive computed jump. Second is using fact that arguments of memset are most of time aligned to 8 bytes. Benchmark results on: kam.mff.cuni.cz/~ondra/benchmark_string/memset_profile_result27_04_13.tar.bz2
* Faster memcpy on x64.Ondrej Bilka2013-05-204-8/+185
| | | | | | | | | We add new memcpy version that uses unaligned loads which are fast on modern processors. This allows second improvement which is avoiding computed jump which is relatively expensive operation. Tests available here: http://kam.mff.cuni.cz/~ondra/memcpy_profile_result27_04_13.tar.bz2
* Handle sincos with generic libm-test logic.Joseph Myers2013-05-191-6/+6
|
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-162-0/+3
|
* Use movq for 64-bit operationsPeter Collingbourne2013-05-151-2/+4
| | | | | | | | | | | The EXTRACT_WORDS64 and INSERT_WORDS64 macros use movd for a 64-bit operation. Somehow gcc manages to turn this into movq, but LLVM won't. 2013-05-15 Peter Collingbourne <pcc@google.com> * sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro. (EXTRACT_WORDS64) Use where appropriate. (INSERT_WORDS64) Likewise.
* Use x constraints for operands to vfmaddss and vfmaddsdPeter Collingbourne2013-05-152-2/+2
| | | | | | | | | | | | | | | While these instructions accept memory operands, only one operand may be a memory operand. Giving two operands xm constraints gives the compiler the option of using memory for both operands, which would result in invalid assembly code. Using x for all operands is more appropriate, as most x86_64 calling conventions will pass the arguments in registers anyway. 2013-05-15 Peter Collingbourne <pcc@google.com> * sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm constraints with x constraints. * sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.
* Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426).Joseph Myers2013-05-081-6/+670
|
* Fix catan, catanh spurious underflows (bug 15423).Joseph Myers2013-05-011-0/+232
|
* Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416).Joseph Myers2013-04-301-2/+420
|
* Fix catan, catanh spurious overflows (bug 15409).Joseph Myers2013-04-271-0/+82
|
* Update x86_64 ULPsMarkus Trippelsdorf2013-04-261-0/+244
| | | | | | 2013-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> * sysdeps/x86_64/fpu/libm-test-ulps: Update.
* Move x86_64-specific audit tests to sysdeps/x86_64/.Joseph Myers2013-04-2517-0/+1515
|
* Fix catan, catanh inaccuracy through use of log (bug 15394).Joseph Myers2013-04-241-0/+2
|
* libm-test.inc: Fix tests where cos(PI/2) != 0.Carlos O'Donell2013-04-111-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.
* Fix cacosh inaccuracy and spurious exceptions (bug 15327).Joseph Myers2013-04-021-27/+942
|
* Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).Joseph Myers2013-03-301-145/+1235
|
* Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307).Joseph Myers2013-03-271-0/+368
|
* BZ#11120: fix x86_64/strcmp.S NOT_IN_libc safeguardsDmitry V. Levin2013-03-221-3/+3
| | | | | | | | Due to a typo repeated several times, this bug hasn't been fixed yet, despite being marked as resolved in glibc 2.12. * sysdeps/x86_64/strcmp.S: Replace all occurrences of NOT_IN_lib with NOT_IN_libc.
* Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287).Joseph Myers2013-03-211-2/+788
|
* Move system-specific settings out of toplevel configure.in and config.make.in.Joseph Myers2013-03-202-0/+15
|
* Faster strlen on x64.Ondrej Bilka2013-03-1813-1308/+755
|
* Fix y1l spurious overflows for ldbl-96 (bug 15283).Joseph Myers2013-03-161-0/+12
|
* Regenerate sysdeps/x86_64/preconfigure.Joseph Myers2013-03-151-120/+0
|
* Remove Prefer_SSE_for_memop on x64Ondrej Bilka2013-03-119-198/+2
|
* Revert " * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation"Ondrej Bilka2013-03-0612-740/+1306
| | | | This reverts commit b79188d71716b6286866e06add976fe84100595e.
* * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementationOndrej Bilka2013-03-0612-1306/+740
| | | | | which is faster on all x86_64 architectures. Tested on AMD, Intel Nehalem, SNB, IVB.
* Remove bounded-pointers handling from x86_64 assembly sources.Joseph Myers2013-02-1714-188/+29
|
* New __sqr function as a faster special case of __mulSiddhesh Poyarekar2013-02-142-0/+2
|
* Remove lots of inline keywords.Roland McGrath2013-02-072-4/+5
|
* Fix casinh spurious underflows away from [-i,i] (bug 15062).Joseph Myers2013-01-311-0/+186
|
* Fix cacos real-part inaccuracy for result real part near 0 (bug 15023).Joseph Myers2013-01-171-0/+15
|
* Implement x86 SIZE32/SIZE64 relocationsH.J. Lu2013-01-161-0/+20
|
* Fix casinh, casin overflow (bug 14996).Joseph Myers2013-01-071-0/+12
|
* Change __x86_64 prefix in cache size to __x86H.J. Lu2013-01-056-46/+46
|
* Fix casinh, casin inaccuracy from cancellation (bug 14994).Joseph Myers2013-01-041-0/+29
|
* Add HAS_RTMH.J. Lu2013-01-032-0/+16
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-02177-183/+177
|
* Move mpone out to a global constSiddhesh Poyarekar2012-12-272-0/+2
| | | | Code cleanup.
* Fix powl inaccuracy for x86_64 and x86 (bug 13881).Joseph Myers2012-11-282-30/+26
|
* Cast to __intptr_t before casting pointer to int64H.J. Lu2012-11-261-7/+14
|
* test-multiarch: terminate printf output with newlinePino Toscano2012-11-221-1/+1
|
* Fix spurious underflows in ldbl-128 atan implementation.David S. Miller2012-11-191-0/+3
| | | | | | | | | | With help from Joseph Myers. * sysdeps/ieee754/ldbl-128/s_atanl.c (__atanl): Handle tiny and very large arguments properly. * math/libm-test.inc (atan_test): New tests. (atan2_test): New tests. * sysdeps/sparc/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Update.
* Correct tinyness handling in long-double and float y0/y1.David S. Miller2012-11-181-0/+35
| | | | | | | | | | | | | | | | | With help from Joseph Myers. * sysdeps/ieee754/flt-32/e_j0f.c (__ieee754_y0f): Adjust tinyness cutoff to 2**-13. * sysdeps/ieee754/flt-32/e_j1f.c (__ieee754_y1f): Adjust tinyness cutoff to 2**-25. * sysdeps/ieee754/ldbl-128/e_j0l.c (U0): New constant. ( __ieee754_y0l): Avoid arithmetic underflow when 'x' is very small. * sysdeps/ieee754/ldbl-128/e_j1l.c (__ieee754_y1l): Likewise. * math/libm-test.inc (y0_test): New tests. (y1_test): New tests. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Update. * sysdeps/sparc/fpu/libm-test-ulps: Update.