opnsense-src/lib/libc/powerpc64/string
Leandro Lupori e16c18650c [PPC64] memcpy/memmove/bcopy optimization
For copies shorter than 512 bytes, the data is copied using plain
ld/std instructions.
For 512 bytes or more, the copy is done in 3 phases:

Phase 1: copy from the src buffer until it's aligned at a 16-byte boundary
Phase 2: copy as many aligned 64-byte blocks from the src buffer as possible
Phase 3: copy the remaining data, if any

In phase 2, this code uses VSX instructions when available. Otherwise,
it uses ldx/stdx.

Submitted by:	Luis Pires <lffpires_ruabrasil.org> (original version)
Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D15118
2020-01-15 20:25:52 +00:00
..
bcopy.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
bcopy_resolver.c [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
bcopy_vsx.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
Makefile.inc [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memcpy.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memcpy_resolver.c [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memcpy_vsx.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memmove.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memmove_resolver.c [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
memmove_vsx.S [PPC64] memcpy/memmove/bcopy optimization 2020-01-15 20:25:52 +00:00
strcpy.c [PPC64] strcpy optimization 2020-01-15 19:46:01 +00:00
strcpy_arch_2_05.S [PPC64] strcpy optimization 2020-01-15 19:46:01 +00:00
strcpy_resolver.c [PPC64] strcpy optimization 2020-01-15 19:46:01 +00:00
strncpy.c [PPC64] strncpy optimization 2020-01-15 19:53:03 +00:00
strncpy_arch_2_05.S [PPC64] strncpy optimization 2020-01-15 19:53:03 +00:00
strncpy_resolver.c [PPC64] strncpy optimization 2020-01-15 19:53:03 +00:00