about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/multiarch
Commit message (Collapse)AuthorAgeFilesLines
...
* PowerPC: Cleanup powerpc memmoveAdhemerval Zanella2014-07-081-1/+1
| | | | | | | Now that MEMCPY_OK_FOR_FWD_MEMMOVE should be define on memcopy.h there is no need to specialized powerpc memmove implementation. This patch moves the define set to powerpc memcopy and cleanup its definition on powerpc code.
* PowerPC: Fix compiler warningsAdhemerval Zanella2014-07-081-1/+3
| | | | | This patch fixes some compiler due trailing data in #undef directives and due missing prototypes.
* PowerPC: optimized memmove for POWER7/PPC64Adhemerval Zanella2014-07-077-1/+184
| | | | | | | | | | | This patch adds an optimized memmove optimization for POWER7/powerpc64. Basically the idea is to use the memcpy for POWER7 on non-overlapped memory regions and a optimized backward memcpy for memory regions that overlap (similar to the idea of string/memmove.c). The backward memcpy algorithm used is similar the one use for memcpy for POWER7, with adjustments done for alignment. The difference is memory is always aligned to 16 bytes before using VSX/altivec instructions.
* PowerPC: strcat optimization for PPC64/POWER7Vidya Ranganathan2014-07-025-1/+99
| | | | | | This patch adds an ifunc power7 strcat symbol that uses the logic on sysdeps/powerpc/strcat.c but call power7 strlen/strcpy symbols instead of default ones.
* PowerPC: Optimized strcmp for PPC64/POWER7Vidya Ranganathan2014-06-115-1/+122
| | | | | | Optimization is achieved on 8 byte aligned strings with double word comparison using cmpb instruction. On unaligned strings loop unrolling is applied for Power7 gain.
* PowerPC: strncpy/stpncpy optimization for PPC64/POWER7Vidya Ranganathan2014-05-068-1/+231
| | | | | | | | The optimization is achieved by following techniques: > data alignment [gain from aligned memory access on read/write] > POWER7 gains performance with loop unrolling/unwinding [gain by reduction of branch penalty]. > zero padding done by calling optimized memset
* PowerPC: ifunc improvement for internal callsAdhemerval Zanella2014-05-056-24/+48
| | | | | | | This patch changes de default symbol redirection for internal call of memcpy, memset, memchr, and strlen to the IFUNC resolved ones. The performance improvement is noticeable in algorithms that uses these symbols extensible, like the regex functions.
* PowerPC: optimized strpbrk for POWER7Adhemerval Zanella2014-03-205-1/+111
| | | | | | | | | This patch add an optimized strpbrk for POWER7 by using a different algorithm than default implementation: it constructs a table based on the 'accept' argument and use this table to check for any occurance on the input string. The idea is similar as x86_64 uses. For PowerPC some tunings were added, such as unroll loops and memory clear using VSX instructions.
* PowerPC: optimized strcspn for PPC64/POWER7Adhemerval Zanella2014-03-205-1/+110
| | | | | | | | | | This patch add a optimized strcspn for POWER7 by using a different algorithm than default implementation: it constructs a table based on the 'accept' argument and use this table to check for any occurance on the input string. The idea is similar as x86_64 uses. For PowerPC some tunings were added, such as unroll loops and align stack memory to table to 16 bytes (so VSX clean can ran without alignment issues).
* PowerPC: Fix strspn for static buildAdhemerval Zanella2014-03-121-1/+1
| | | | This patch makes the strspn ifunc selector build for static builds.
* PowerPC: Fix bzero definition for static libc for PPC64Adhemerval Zanella2014-03-111-5/+6
| | | | | | | | | This patch fixes an issue for powerpc64[le] static build where __bzero is definied in multiple places (memset-ppc64.o and bzero.o). It is now defined only in bzero.o and memset-ppc64.o only defined __bzero_ppc for both dynamic and static library. Fixes BZ#16683.
* PowerPC: strspn optimization for PPC64/POWER7Vidya Ranganathan2014-03-115-1/+114
| | | | | | | | The optimization is achieved by following techniques: > hashing of needle. > hashing avoids scanning of duplicate entries in needle across the string. > initializing the hash table with Vector instructions (VSX) by quadword access. > unrolling when scanning for character in string across hash table.
* PowerPC: strncat optimization for PPC64Adhemerval Zanella2014-03-105-1/+111
| | | | | | | | The optimization is achieved by following techniques: 1. Doubleword aligned memory access and compares using cmpb instruction. 2. Loop unrolling for byte load/store. 3. CPU pre-fetch to avoid cache miss.
* PowerPC: strrchr optimization for POWER7/PPC64Rajalakshmi Srinivasaraghavan2014-03-035-1/+117
| | | | | | This patch optimizes strrchr() for ppc64. It uses aligned memory access along with cmpb instruction and CPU prefetch to avoid cache misses for speed improvement.
* PowerPC: Fix compiler warningsAdhemerval Zanella2014-01-034-4/+4
| | | | | This patch fixes some compile warnings related to extra tokens at end of #undef directive from multilib patchset.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0182-82/+82
|
* PowerPC: multiarch stpcpy for PowerPC64Adhemerval Zanella2013-12-135-1/+130
|
* PowerPC: multiarch strcpy for PowerPC64Adhemerval Zanella2013-12-135-1/+123
|
* PowerPC: multiarch wordcopy for PowerPC64Adhemerval Zanella2013-12-135-1/+146
|
* PowerPC: multiarch wcscpy for PowerPC64.Adhemerval Zanella2013-12-136-1/+106
|
* PowerPC: multiarch wcsrchr for PowerPC64Adhemerval Zanella2013-12-136-1/+107
|
* PowerPC: multiarch wcschr for PowerPC64Adhemerval Zanella2013-12-136-1/+109
|
* PowerPC: multiarch strchrnul for PowerPC64Adhemerval Zanella2013-12-135-1/+105
|
* PowerPC: multiarch strchr for PowerPC64Adhemerval Zanella2013-12-136-1/+143
|
* PowerPC: multiarch strncmp for PowerPC64Adhemerval Zanella2013-12-136-1/+169
|
* PowerPC: multiarch strncasecmp for PowerPC64Adhemerval Zanella2013-12-136-1/+152
|
* PowerPC: multiarch strcasecmp for PowerPC64Adhemerval Zanella2013-12-136-1/+182
|
* PowerPC: multiarch strnlen for PowerPC64Adhemerval Zanella2013-12-135-1/+104
|
* PowerPC: multiarch strlen for PowerPC64Adhemerval Zanella2013-12-135-1/+120
|
* PowerPC: multiarch rawmemchr for PowerPC64Adhemerval Zanella2013-12-135-1/+102
|
* PowerPC: multiarch memrchr for PowerPC64Adhemerval Zanella2013-12-135-1/+107
|
* PowerPC: multiarch memchr for PowerPC64Adhemerval Zanella2013-12-135-1/+107
|
* PowerPC: multiarch mempcpy for PowerPC64Adhemerval Zanella2013-12-135-1/+109
|
* PowerPC: multiarch memset/bzero for PowerPC64Adhemerval Zanella2013-12-1312-1/+377
|
* PowerPC: multirach memcmp for PowerPC64Adhemerval Zanella2013-12-136-1/+166
|
* PowerPC: multiarch memcpy for PowerPC64Adhemerval Zanella2013-12-1310-0/+379