opnsense-src/lib/libc/amd64/string
Robert Clausecker 5048c1b855 lib/libc/amd64/string: add timingsafe_memcmp() assembly implementation
Conceptually very similar to timingsafe_bcmp(), but with comparison
logic inspired by Elijah Stone's fancy memcmp. A baseline (SSE)
implementation was omitted this time as I was not able to get it to
perform adequately.  Best I got was 8% over the scalar version for
long inputs, but slower for short inputs.

Sponsored by:	The FreeBSD Foundation
Approved by:	security (cperciva)
Inspired by:	https://github.com/moon-chilled/fancy-memcmp
Differential Revision:	https://reviews.freebsd.org/D41696
2023-10-15 15:25:53 -04:00
..
amd64_archlevel.c lib/libc/amd64: add archlevel-based simd dispatch framework 2023-08-04 01:53:43 +03:00
bcmp.S amd64: bring back asm bcmp, shared with memcmp 2022-03-26 09:10:03 +00:00
bcopy.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
bzero.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
Makefile.inc lib/libc/amd64/string: add timingsafe_memcmp() assembly implementation 2023-10-15 15:25:53 -04:00
memchr.S lib/libc/amd64/string/memchr.S: fix behaviour with overly long buffers 2023-09-10 08:52:59 -04:00
memcmp.S lib/libc/amd64/string/memcmp.S: harden against phony buffer lengths 2023-09-16 00:20:32 -04:00
memcpy.S Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
memmove.S Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
memset.S Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
stpcpy.S lib/libc/amd64/string/stpcpy.S: add baseline implementation 2023-08-21 20:59:38 +02:00
strcat.S Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
strchrnul.S lib/libc/amd64/string/strchrnul.S: fix edge case in scalar code 2023-08-25 21:21:54 +02:00
strcmp.S Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
strcpy.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
strcspn.S lib/libc/amd64/string/strcspn.S: fix behaviour with sets of 17--32 2023-09-11 22:58:43 -04:00
strlen.S Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
strnlen.c lib/libc/amd64/string: implement strnlen(3) trough memchr(3) 2023-09-08 17:22:31 -04:00
strspn.S lib/libc/amd64/string: add strspn(3) scalar, x86-64-v2 implementation 2023-09-08 17:21:59 -04:00
timingsafe_bcmp.S lib/libc/amd64/string: add timingsafe_bcmp(3) scalar, baseline implementations 2023-10-15 15:19:04 -04:00
timingsafe_memcmp.S lib/libc/amd64/string: add timingsafe_memcmp() assembly implementation 2023-10-15 15:25:53 -04:00