glibc/sysdeps/powerpc/powerpc64
Rajalakshmi Srinivasaraghavan f59ad976ed powerpc: POWER7 strcpy optimization for unaligned strings
This patch optimizes strcpy for ppc64/power7 for unaligned source or
destination address.  The source or destination address is aligned
to doubleword and data is shifted based on the alignment and
added with the previous loaded data to be written as a doubleword.
For each load, cmpb instruction is used for faster null check.

The word aligned optimization is also removed, since the new unaligned
code path shows better results handling word-aligned strings.

More combination of unaligned inputs is also added in benchtest
to measure the improvement.The new optimization shows 2 to 80% of
performance improvement for longer string though it does not show
big difference on string size less than 16 due to additional checks.
2014-12-31 14:35:59 -05:00
..
970 powerpc: Re-work the Implies structure 2010-06-30 09:57:38 -07:00
a2 Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bits powerpc: Fix missing barriers in atomic_exchange_and_add_{acq,rel} 2014-11-26 07:06:28 -05:00
cell Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
fpu Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
multiarch Fix strftime wcschr namespace (bug 17634). 2014-12-10 16:59:02 +00:00
power4 PowerPC: multiarch bzero cleanup for PPC64 2014-09-10 07:39:46 -04:00
power5 Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
power5+ PowerPC: Fix --disable-multi-arch builds 2014-04-09 06:22:53 -05:00
power6 Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
power6x Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
power7 powerpc: POWER7 strcpy optimization for unaligned strings 2014-12-31 14:35:59 -05:00
power8 Remove IS_IN_libm 2014-11-24 11:41:47 +05:30
__longjmp-common.S Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
__longjmp.S Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
addmul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
backtrace.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
bsd-_setjmp.S PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
bsd-setjmp.S PowerPC64 ABI fixes 2010-08-12 09:19:19 -07:00
bzero.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
configure rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
configure.ac rename configure.in to configure.ac 2013-10-30 17:32:08 +10:00
crti.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
crtn.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-dtprocnum.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-irel.h Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
dl-machine.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
dl-machine.h Remove INTDEF / INTUSE / INTVARDEF (bug 14132). 2014-11-05 23:35:36 +00:00
dl-trampoline.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
entry.h PowerPC: Fix gprof entry point for LE 2014-07-30 09:01:25 -03:00
ffsll.c Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
hp-timing.h Always provide HP_SMALL_TIMING_AVAIL 2014-07-03 08:38:36 -07:00
Implies Revert "Use ieee754/dbl-64/wordsize-64 on powerpc64" 2013-01-10 10:44:05 +01:00
lshift.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Makefile Remove HP_TIMING_DIFF_INIT and dl_hp_timing_overhead 2014-07-03 08:38:25 -07:00
memcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
memset.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
mul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
ppc-mcount.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
register-dump.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
rtld-memset.c powerpc: Use generic memset for RTLD for ppc32/64 2010-09-29 12:21:14 -04:00
setjmp-common.S Remove IS_IN_rtld 2014-11-24 11:41:48 +05:30
setjmp.S Remove NOT_IN_libc 2014-11-24 15:03:45 +05:30
stackguard-macros.h PowerPC: Fix POINTER_CHK_GUARD thread register for PPC64 2013-09-25 13:43:04 -05:00
start.S Fix reference to toc symbol. 2014-04-02 13:40:21 +10:30
stpcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strchr.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcpy.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strcspn.S powerpc: Add powerpc64 strcspn optimization 2014-12-02 07:16:24 -05:00
strlen.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strncmp.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
strpbrk.S powerpc: Add powerpc64 strpbrk optimization 2014-12-02 13:34:02 -05:00
strspn.S powerpc: Add powerpc64 strspn optimization 2014-12-02 07:15:58 -05:00
strtok_r.S powerpc: strtok{_r} optimization for powerpc64 2014-12-01 09:03:58 -05:00
strtok.S powerpc: strtok{_r} optimization for powerpc64 2014-12-01 09:03:58 -05:00
submul_1.S Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
sysdep.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
tls-macros.h Split tls-macros.h in sysdeps directories. 2012-07-19 17:04:04 -03:00
tst-audit.h Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00