about summary refs log tree commit diff
path: root/sysdeps/i386/i686
Commit message (Collapse)AuthorAgeFilesLines
* Fix log (1) in round-downward mode (bug 16731).Joseph Myers2014-03-211-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to ISO C Annex F, log (1) should be +0 in all rounding modes, but some implementations in glibc wrongly return -0 in round-downward mode (mapping to log1p (x - 1) is problematic because 1 - 1 is -0 in round-downward mode, and log1p (-0) is -0). This patch fixes this. (It helps with some implementations of other functions such as acosh, log2 and log10 that call out to log, but not enough to enable all-rounding-modes testing for those functions without further fixes to other implementations of them.) Tested x86_64 and x86 and ulps updated accordingly, and did spot tests for mips64 for the ldbl-128 fix, and i586 for the sysdeps/i386/fpu implementations shadowed by those in sysdeps/i386/i686/fpu. [BZ #16731] * sysdeps/i386/fpu/e_log.S (__ieee754_log): Take absolute value when x - 1 is zero. * sysdeps/i386/fpu/e_logf.S (__ieee754_logf): Likewise. * sysdeps/i386/fpu/e_logl.S (__ieee754_logl): Likewise. * sysdeps/i386/i686/fpu/e_logl.S (__ieee754_logl): Likewise. * sysdeps/ieee754/dbl-64/e_log.c (__ieee754_log): Return +0 when argument is 1. * sysdeps/ieee754/ldbl-128/e_logl.c (__ieee754_logl): Likewise. * sysdeps/x86_64/fpu/e_logl.S: Take absolute value when x - 1 is zero. * math/libm-test.inc (log_test): Use ALL_RM_TEST. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
* Fix a thinko/typo in i686's memmove (aka __memmove_ia32).Yuriy Kaminskiy2014-01-091-2/+2
| | | | | * sysdeps/i386/i686/memmove.S (memmove): Compare distance between SRC and DEST against LEN.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0199-99/+99
|
* Remove use of SSE4.2 functions for strstr on i686Andreas Schwab2013-12-186-49/+2
| | | | | The SSE4.2 have been removed from x86_64 by commit 584b18eb. This patch fixes the build on i686, which attempts to use the removed files.
* Make __ffs hiddenAndreas Schwab2013-09-201-0/+1
|
* Remove --disable-versioning.Joseph Myers2013-09-041-1/+1
|
* Fix handling LC_CTYPE nonascii-case fallback in i686 SSE4.2 and SSSE3 ↵Andreas Schwab2013-08-272-0/+24
| | | | strcasecmp/strncasecmp
* Fix typos.Ondřej Bílka2013-08-217-11/+11
|
* i686: Skip SSE4_2 version for strcmp, strncmp, strncase, strcasecmpLiubov Dmitrieva2013-08-213-0/+12
| | | | if bit_Slow_SSE4_2 is set.
* Enable static 32-bit SSE4.2 strcasecmp/strncasecmpH.J. Lu2013-07-022-6/+0
|
* Remove remaining bounded-pointers support from i386 .S files.Joseph Myers2013-02-2110-78/+62
|
* Remove some bounded-pointers support from i386 .S files.Joseph Myers2013-02-198-85/+6
|
* Remove bounded-pointers build system support.Joseph Myers2013-02-151-2/+0
|
* Change __x86_64 prefix in cache size to __x86H.J. Lu2013-01-051-9/+0
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0299-99/+99
|
* Add i686 __libc_ifunc_impl_listH.J. Lu2012-10-1142-0/+396
|
* Add optimized sincosf for SSE2 for x86 and x86-64Liubov Dmitrieva2012-09-253-1/+617
|
* Fix x86 SSE cosf, sinf issuesLiubov Dmitrieva2012-09-102-55/+40
| | | | | | | | | | * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Fix unwind info if defined PIC. Fix special cases description. * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise. * sysdeps/x86_64/fpu/s_sinf.S: Fix special cases description, fix DP_HI_MASK entry. * sysdeps/x86_64/fpu/s_cosf.S: Likewise.
* Add optimized sinf and cosf routines for x86 and x86-64Liubov Dmitrieva2012-09-036-1/+1210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * sysdeps/i386/i686/fpu/multiarch/Makefile (sysdep_routines): Add s_sinf-sse2, s_conf-sse2. * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: New file. * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: New file. * sysdeps/i386/i686/fpu/multiarch/s_sinf.c: New file. * sysdeps/i386/i686/fpu/multiarch/s_cosf.c: New file. * sysdeps/ieee754/flt-32/s_sinf.c (SINF, SINF_FUNC): Add macros for using routine as __sinf_ia32. Use macro for function declaration and weak_alias. * sysdeps/ieee754/flt-32/s_cosf.c (COSF, COSF_FUNC): Add macros for using routine as __cosf_ia32. Use macro for function declaration and weak_alias. * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Fix Copyright. * sysdeps/i386/i686/fpu/multiarch/e_expf.c: Fix Copyright. * sysdeps/x86_64/fpu/s_sinf.S: New file. * sysdeps/x86_64/fpu/s_cosf.S: New file. * sysdeps/x86_64/fpu/libm-test-ulps: Update. * math/libm-test.inc (cos_test): Add more test cases. (sin_test): Likewise. (sincos_test): Likewise.
* Remove executable permissions checked in by accidentAndreas Jaeger2012-08-151-0/+0
|
* Fix segmentation fault in strncasecmp for i686Liubov Dmitrieva2012-08-151-1/+1
| | | | | | | | | | | | 2012-08-15 Liubov Dmitrieva <liubov.dmitrieva@gmail.com> [BZ #14195] * sysdeps/i386/i686/multiarch/strcmp-sssse3.S: Fix segmentation fault for a case of two empty input strings. * string/test-strncasecmp.c (check1): Renamed to... (bz12205): ...this. (bz14195): Add new testcase for two empty input strings and N > 0. (test_main): Call new testcase, adapt for renamed function.
* Avoid DWARF definition DIE on ifunc symbolsH.J. Lu2012-08-091-3/+14
|
* Get rid of ASM_TYPE_DIRECTIVE{,_PREFIX}.Marek Polacek2012-08-023-17/+17
|
* Fix warnings in wcschr-c.cAndreas Jaeger2012-05-211-3/+9
| | | | | | | | | Fixes: In file included from ../sysdeps/i386/i686/multiarch/wcschr-c.c:8:0: ../wcsmbs/wcschr.c:26:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes] ../wcsmbs/wcschr.c:37:1: warning: data definition has no type or storage class [enabled by default] ../wcsmbs/wcschr.c:37:1: warning: type defaults to ‘int’ in declaration of ‘__hidden_ver1’ [enabled by default] ../wcsmbs/wcschr.c:37:1: warning: parameter names (without types) in function declaration [enabled by default]
* BZ#14059: Fix AVX and FMA4 detection.Carlos O'Donell2012-05-172-0/+2
| | | | | Fix AVX and FMA4 detection by following the guidelines set out by Intel and AMD for detecting these features.
* Add optimized expf for x86Liubov Dmitrieva2012-05-144-0/+364
| | | | | | | | | 2012-05-14 Liubov Dmitrieva <liubov.dmitrieva@gmail.com> * sysdeps/i386/i686/fpu/multiarch/Makefile: New file. * sysdeps/i386/i686fpu/multiarch/e_expf.c: New file. * sysdeps/i386/i686fpu/multiarch/e_expf-ia32.S: New file. * sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: New file.
* memset: also update copyright yearsMike Frysinger2012-04-081-1/+1
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* memset: fix define usage for shared libsMike Frysinger2012-04-071-1/+1
| | | | | | | The proper define to check "am I in a shared lib" is "SHARED", not "PIC". The two new memset_chk functions incorrectly depend on "PIC". Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* optimize the following memcpy: sysdeps/i386/i686/multiarch/memcpy-ssse3.SLiubov Dmitrieva2012-03-301-536/+1449
| | | | | | | | | | | | | | I've improved the following implementation of memcpy: "sysdeps/i386/i686/multiarch/memcpy-ssse3.S". The patch includes some minor style fixes, but the important part is just using prefetch loops for the case: DATA_CACHE_SIZE_HALF <= len < SHARED_CACHE_SIZE_HALF and src and dst pointers have unequal 16 byte alignments. This gives from 6% - 50% performance boost on the atom machine, about 24,73% in geometric mean.
* Move stdio-common/_itoa.h to sysdeps/genericH.J. Lu2012-03-201-1/+1
|
* Fix x86 strcasecmp_l (bug 13786).Joseph Myers2012-02-293-1/+6
|
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-0989-267/+178
|
* Remove __ELF__ conditionalsMarek Polacek2012-02-071-4/+1
|
* Consistently use macros for x86 PIC thunks.Joseph Myers2012-02-0341-418/+93
|
* Fix wrong copying processing for last bytes in x86-32 wcscpyLiubov Dmitrieva2011-12-231-41/+21
| | | | | | | | | | | Wrong copy algorithm for last bytes, not thread safety. In some particular cases it uses the destination memory beyond the string end for 16-byte load, puts changes into that part that is relevant to destination string and writes whole 16-byte chunk into memory. I have a test case where the memory beyond the string end contains malloc/free data, that appear corrupted in case free() updates it in between the 16-byte read and 16-byte write.
* Fix overrun in strcpy destination buffer in x86-32/SSSE3 versionLiubov Dmitrieva2011-12-221-745/+516
|
* Optimized wcschr and wcscpy for x86-64 and x86-32Ulrich Drepper2011-12-1710-1/+1370
|
* Fix SSSE3/SSE4.2 strcasecmp[_l]/strncasecmp[_l] for non-PIC and ↵Andreas Schwab2011-11-162-12/+68
| | | | -mno-tls-direct-seg-refs
* Add SSE4.2 support for strcasecmp and strncasecmp on x86-32Ulrich Drepper2011-11-148-89/+470
|
* SSSE3 optimized strcasecmp and strncasecmp for x86-32Ulrich Drepper2011-11-1314-266/+1058
|
* Fix warnings in fallback C code of x86-32 wide memory functionsUlrich Drepper2011-11-123-0/+12
|
* Remove unnecessary code from x86-32 SSSE3 strncmpUlrich Drepper2011-11-081-3/+1
|
* Fix some warning nitsAndreas Schwab2011-10-282-7/+5
|
* Move wide char related routines to wcsmbs subdirAndreas Schwab2011-10-281-3/+7
|
* Fix strnlen changeUlrich Drepper2011-10-231-0/+1
|
* Add optimized wcslen and strnlen for x86-32Liubov Dmitrieva2011-10-238-40/+723
|
* Improve x86-32 SSSE3 memcpyMichael Zolotukhin2011-10-231-219/+708
|
* Fix WSUlrich Drepper2011-10-231-5/+5
|
* Fix signedness in wcscmp comparisonLiubov Dmitrieva2011-10-231-71/+87
|
* No need for boundary case handling in x86-32 __ieee_logUlrich Drepper2011-10-151-52/+1
|