aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/x86_64
AgeCommit message (Collapse)AuthorFilesLines
2013-09-26Faster strrchr.Ondřej Bílka6-943/+199
2013-09-23BZ #15754: CVE-2013-4788Carlos O'Donell1-0/+5
The pointer guard used for pointer mangling was not initialized for static applications resulting in the security feature being disabled. The pointer guard is now correctly initialized to a random value for static applications. Existing static applications need to be recompiled to take advantage of the fix. The test tst-ptrguard1-static and tst-ptrguard1 add regression coverage to ensure the pointer guards are sufficiently random and initialized to a default value.
2013-09-20Make __ffs hiddenAndreas Schwab1-0/+1
2013-09-11Faster strchr implementation.Ondřej Bílka4-200/+160
2013-09-03Fix lgammaf spurious underflow (bug 15427).Joseph Myers1-0/+56
2013-09-03Add unaligned strcmp.Ondřej Bílka4-2/+222
2013-09-02Fix spurious jnf underflows (bug 14155).Joseph Myers1-2/+17
2013-08-30Fix typos.Ondřej Bílka2-2/+2
2013-08-30Fix rawmemchr regression on bulldozer.Ondřej Bílka2-109/+0
2013-08-21Fix typos.Ondřej Bílka2-3/+3
2013-07-05Update x86 and x86_64 ulps on AMD FX-8350 with GCC 4.8.1.Jeroen Albers1-14/+133
2013-07-02Update x86_64 ULPs.Markus Trippelsdorf1-2/+318
2013-07-02Regenerate x86 and x86_64 ulps.Joseph Myers1-833/+43
2013-06-28Skip SSE4.2 versions on Intel SilvermontLiubov Dmitrieva5-15/+37
SSE2/SSSE3 versions are faster than SSE4.2 versions on Intel Silvermont.
2013-06-26Fix buffers overrun in x86_64 memcmp-ssse3.SLiubov Dmitrieva1-4/+2
2013-06-14Set fast unaligned load flag for new Intel microarchitectureLiubov Dmitrieva1-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.
2013-06-15Add rtld-memset.S for x86_64Siddhesh Poyarekar2-1/+37
Resolves: BZ #15627 Add an assembler version of rtld-memset to avoid using SSE registers.
2013-06-05Remove trailing whitespace.Joseph Myers3-3/+3
2013-05-29Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar1-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.
2013-05-24Test drem and pow10 in libm-test.inc.Joseph Myers1-0/+26
2013-05-24Use same tests for isfinite/finite, lgamma/gamma.Joseph Myers1-0/+16
2013-05-22Don't include expected results in libm-test test names.Joseph Myers1-2154/+2154
2013-05-20Faster memset on x64Ondrej Bilka1-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
2013-05-20Faster memcpy on x64.Ondrej Bilka4-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
2013-05-19Handle sincos with generic libm-test logic.Joseph Myers1-6/+6
2013-05-16Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2-0/+3
2013-05-15Use movq for 64-bit operationsPeter Collingbourne1-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.
2013-05-15Use x constraints for operands to vfmaddss and vfmaddsdPeter Collingbourne2-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.
2013-05-08Improve tgamma accuracy (bugs 2546, 2560, 5159, 15426).Joseph Myers1-6/+670
2013-05-01Fix catan, catanh spurious underflows (bug 15423).Joseph Myers1-0/+232
2013-04-30Fix catan, catanh inaccuracy from atan2 denominators near 0 (bug 15416).Joseph Myers1-2/+420
2013-04-27Fix catan, catanh spurious overflows (bug 15409).Joseph Myers1-0/+82
2013-04-26Update x86_64 ULPsMarkus Trippelsdorf1-0/+244
2013-04-26 Markus Trippelsdorf <markus@trippelsdorf.de> * sysdeps/x86_64/fpu/libm-test-ulps: Update.
2013-04-25Move x86_64-specific audit tests to sysdeps/x86_64/.Joseph Myers17-0/+1515
2013-04-24Fix catan, catanh inaccuracy through use of log (bug 15394).Joseph Myers1-0/+2
2013-04-11libm-test.inc: Fix tests where cos(PI/2) != 0.Carlos O'Donell1-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-02Fix cacosh inaccuracy and spurious exceptions (bug 15327).Joseph Myers1-27/+942
2013-03-30Fix casinh inaccuracy for imaginary part < 1.0, real part small (bug 10357).Joseph Myers1-145/+1235
2013-03-27Fix casinh inaccuracy near i, imaginary part > 1 (bug 15307).Joseph Myers1-0/+368
2013-03-22BZ#11120: fix x86_64/strcmp.S NOT_IN_libc safeguardsDmitry V. Levin1-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.
2013-03-21Fix casinh inaccuracy for argument with imaginary part 1 (bug 15287).Joseph Myers1-2/+788
2013-03-20Move system-specific settings out of toplevel configure.in and config.make.in.Joseph Myers2-0/+15
2013-03-18Faster strlen on x64.Ondrej Bilka13-1308/+755
2013-03-16Fix y1l spurious overflows for ldbl-96 (bug 15283).Joseph Myers1-0/+12
2013-03-15Regenerate sysdeps/x86_64/preconfigure.Joseph Myers1-120/+0
2013-03-11Remove Prefer_SSE_for_memop on x64Ondrej Bilka9-198/+2
2013-03-06Revert " * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementation"Ondrej Bilka12-740/+1306
This reverts commit b79188d71716b6286866e06add976fe84100595e.
2013-03-06 * sysdeps/x86_64/strlen.S: Replace with new SSE2 based implementationOndrej Bilka12-1306/+740
which is faster on all x86_64 architectures. Tested on AMD, Intel Nehalem, SNB, IVB.
2013-02-17Remove bounded-pointers handling from x86_64 assembly sources.Joseph Myers14-188/+29
2013-02-14New __sqr function as a faster special case of __mulSiddhesh Poyarekar2-0/+2