]> sourceware.org Git - glibc.git/commit
x86_64: Implement evex512 version of strchrnul, strchr and wcschr
authorSunil K Pandey <skpgkp2@gmail.com>
Tue, 26 Jul 2022 20:54:56 +0000 (13:54 -0700)
committerSunil K Pandey <skpgkp2@gmail.com>
Wed, 26 Oct 2022 05:39:35 +0000 (22:39 -0700)
commit59e501f204fa196d6571b523459ba528bbef7783
treea28a658c0ff90fcb6295f9629275ab2d33905211
parent7a6ca82f8007ddbd43e2b8fce806ba7101ee47f5
x86_64: Implement evex512 version of strchrnul, strchr and wcschr

This patch implements following evex512 version of string functions.
evex512 version takes up to 30% less cycle as compared to evex,
depending on length and alignment.

- strchrnul function using 512 bit vectors.
- strchr function using 512 bit vectors.
- wcschr function using 512 bit vectors.

Code size data:

strchrnul-evex.o 599 byte
strchrnul-evex512.o 569 byte (-5%)

strchr-evex.o 639 byte
strchr-evex512.o 595 byte (-7%)

wcschr-evex.o 644 byte
wcschr-evex512.o 607 byte (-6%)

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

Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
sysdeps/x86_64/multiarch/Makefile
sysdeps/x86_64/multiarch/ifunc-impl-list.c
sysdeps/x86_64/multiarch/strchr-evex-base.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/strchr-evex512.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/strchrnul-evex512.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/wcschr-evex512.S [new file with mode: 0644]
This page took 0.043516 seconds and 5 git commands to generate.