From 59e501f204fa196d6571b523459ba528bbef7783 Mon Sep 17 00:00:00 2001 From: Sunil K Pandey Date: Tue, 26 Jul 2022 13:54:56 -0700 Subject: 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 --- sysdeps/x86_64/multiarch/strchr-evex512.S | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 sysdeps/x86_64/multiarch/strchr-evex512.S (limited to 'sysdeps/x86_64/multiarch/strchr-evex512.S') diff --git a/sysdeps/x86_64/multiarch/strchr-evex512.S b/sysdeps/x86_64/multiarch/strchr-evex512.S new file mode 100644 index 0000000000..a4ac022952 --- /dev/null +++ b/sysdeps/x86_64/multiarch/strchr-evex512.S @@ -0,0 +1,8 @@ +# ifndef STRCHR +# define STRCHR __strchr_evex512 +# endif + +#include "x86-evex512-vecs.h" +#include "reg-macros.h" + +#include "strchr-evex-base.S" -- cgit 1.4.1