glibc/sysdeps/powerpc/powerpc64
Adhemerval Zanella Netto b7060acfe8 powerpc64: Add optimized chacha20
It adds vectorized ChaCha20 implementation based on libgcrypt
cipher/chacha20-ppc.c.  It targets POWER8 and it is used on default
for LE.

On a POWER8 it shows the following improvements (using formatted
bench-arc4random data):

POWER8

GENERIC                                    MB/s
-----------------------------------------------
arc4random [single-thread]               138.77
arc4random_buf(16) [single-thread]       174.36
arc4random_buf(32) [single-thread]       228.11
arc4random_buf(48) [single-thread]       252.31
arc4random_buf(64) [single-thread]       270.11
arc4random_buf(80) [single-thread]       278.97
arc4random_buf(96) [single-thread]       287.78
arc4random_buf(112) [single-thread]      291.92
arc4random_buf(128) [single-thread]      295.25

POWER8                                     MB/s
-----------------------------------------------
arc4random [single-thread]               198.06
arc4random_buf(16) [single-thread]       278.79
arc4random_buf(32) [single-thread]       448.89
arc4random_buf(48) [single-thread]       551.09
arc4random_buf(64) [single-thread]       646.12
arc4random_buf(80) [single-thread]       698.04
arc4random_buf(96) [single-thread]       756.06
arc4random_buf(112) [single-thread]      784.12
arc4random_buf(128) [single-thread]      808.04
-----------------------------------------------

Checked on powerpc64-linux-gnu and powerpc64le-linux-gnu.
Reviewed-by: Paul E. Murphy <murphyp@linux.ibm.com>
2022-07-22 11:58:27 -03:00
..
a2 Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
be powerpc64: Add optimized chacha20 2022-07-22 11:58:27 -03:00
bits Define wordsize.h macros everywhere 2016-11-04 09:37:44 -07:00
cell Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
fpu math: Add math-use-builtins-fabs (BZ#29027) 2022-05-23 17:49:18 -03:00
le powerpc: Fix VSX register number on __strncpy_power9 [BZ #29197] 2022-06-07 15:07:25 -03:00
multiarch Add bounds check to __libc_ifunc_impl_list 2022-06-10 17:13:29 +01:00
power4 powerpc: Remove powerpc64 bzero optimizations 2022-02-23 14:18:18 -03:00
power6 powerpc: Remove powerpc64 bzero optimizations 2022-02-23 14:18:18 -03:00
power7 powerpc: Remove powerpc64 bzero optimizations 2022-02-23 14:18:18 -03:00
power8 powerpc64: Add optimized chacha20 2022-07-22 11:58:27 -03:00
Implies Revert "Use ieee754/dbl-64/wordsize-64 on powerpc64" 2013-01-10 10:44:05 +01:00
Makefile Remove stale references to libdl.a 2021-06-09 19:14:02 +02:00
__longjmp-common.S powerpc64: Use medium model toc accesses throughout 2022-04-10 08:33:06 +09:30
__longjmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
addmul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
atomic-machine.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08: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
configure elf: Replace PI_STATIC_AND_HIDDEN with opposite HIDDEN_VAR_NEEDS_DYNAMIC_RELOC 2022-04-26 09:26:22 -07:00
configure.ac elf: Replace PI_STATIC_AND_HIDDEN with opposite HIDDEN_VAR_NEEDS_DYNAMIC_RELOC 2022-04-26 09:26:22 -07:00
crti.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
crtn.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-dtprocnum.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-funcdesc.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-irel.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-machine.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
dl-machine.h powerpc64: Set up thread register for _dl_relocate_static_pie 2022-04-10 08:33:40 +09:30
dl-trampoline.S powerpc64: Use medium model toc accesses throughout 2022-04-10 08:33:06 +09:30
ffsll.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
hp-timing.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
lshift.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memcpy.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
memset.S powerpc: Remove powerpc64 bzero optimizations 2022-02-23 14:18:18 -03:00
mul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
ppc-mcount.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
rtld-memset.c powerpc: Use generic memset for RTLD for ppc32/64 2010-09-29 12:21:14 -04:00
setjmp-bug21895.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
setjmp-common.S powerpc64: Use medium model toc accesses throughout 2022-04-10 08:33:06 +09:30
setjmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
stackguard-macros.h PowerPC: Fix POINTER_CHK_GUARD thread register for PPC64 2013-09-25 13:43:04 -05:00
start.S powerpc64: Use medium model toc accesses throughout 2022-04-10 08:33:06 +09:30
strchr.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strcmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strlen.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
strncmp.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
submul_1.S Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
sysdep.h powerpc64: Use medium model toc accesses throughout 2022-04-10 08:33:06 +09:30
tst-audit.h Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-setjmp-bug21895-static.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00
tst-ucontext-ppc64-vscr.c Update copyright dates with scripts/update-copyrights 2022-01-01 11:40:24 -08:00