mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
The scalar implementation is fairly straightforward and merely unrolled four times. The baseline implementation closely follows D41971 with appropriate extensions and extra code paths to pay attention to string length. Performance is quite good. We beat both glibc (except for very long strings, but they likely use AVX which we don't) and Bionic (except for medium-sized aligned strings, where we are still in the same ballpark). Sponsored by: The FreeBSD Foundation Tested by: developers@, exp-run Approved by: mjg MFC after: 1 month MFC to: stable/14 PR: 275785 Differential Revision: https://reviews.freebsd.org/D42122 (cherry picked from commit 14289e973f5c941e4502cc2b11265e4b3072839a) |
||
|---|---|---|
| .. | ||
| amd64_archlevel.c | ||
| bcmp.S | ||
| bcopy.c | ||
| bzero.c | ||
| Makefile.inc | ||
| memchr.S | ||
| memcmp.S | ||
| memcpy.S | ||
| memmove.S | ||
| memset.S | ||
| stpcpy.S | ||
| strcat.S | ||
| strchrnul.S | ||
| strcmp.S | ||
| strcpy.c | ||
| strcspn.S | ||
| strlen.S | ||
| strncmp.S | ||
| strnlen.c | ||
| strpbrk.c | ||
| strspn.S | ||
| timingsafe_bcmp.S | ||
| timingsafe_memcmp.S | ||