]> git.ipfire.org Git - thirdparty/glibc.git/commit
x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen
authorSunil K Pandey <skpgkp2@gmail.com>
Mon, 28 Feb 2022 00:39:47 +0000 (16:39 -0800)
committerSunil K Pandey <skpgkp2@gmail.com>
Tue, 19 Jul 2022 05:13:56 +0000 (22:13 -0700)
commitf98a799defa543ffad4dafe33f6ed86ab8215ec1
tree6c5d82ce38f0cab4c9b972fefd4717c86a244c42
parent2ce3c218c209b019ce22776a7b2f0c0c11f9982a
x86_64: Implement evex512 version of strlen, strnlen, wcslen and wcsnlen

This patch implements following evex512 version of string functions.
Perf gain for evex512 version is up to 50% as compared to evex,
depending on length and alignment.

Placeholder function, not used by any processor at the moment.

- String length function using 512 bit vectors.
- String N length using 512 bit vectors.
- Wide string length using 512 bit vectors.
- Wide string N length using 512 bit vectors.

Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
(cherry picked from commit 9c66efb86fe384f77435f7e326333fb2e4e10676)
sysdeps/x86_64/multiarch/Makefile
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/strlen-evex-base.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/strlen-evex512.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/strnlen-evex512.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/wcslen-evex512.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/wcsnlen-evex512.S [new file with mode: 0644]