mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 04:50:07 +00:00
e957308723
This commit uses a common implementation 'strlen-evex-base.S' for both 'strlen-evex' and 'strlen-evex512' The motivation is to reduce the number of implementations to maintain. This incidentally gives a small performance improvement. All tests pass on x86. Benchmarks were taken on SKX. https://www.intel.com/content/www/us/en/products/sku/123613/intel-core-i97900x-xseries-processor-13-75m-cache-up-to-4-30-ghz/specifications.html Geometric mean for strlen-evex512 over all benchmarks (N=10) was (new/old) 0.939 Geometric mean for wcslen-evex512 over all benchmarks (N=10) was (new/old) 0.965 Code Size Changes: strlen-evex512.S : +24 bytes wcslen-evex512.S : +54 bytes Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
9 lines
137 B
ArmAsm
9 lines
137 B
ArmAsm
#ifndef WCSNLEN
|
|
# define WCSNLEN __wcsnlen_evex512
|
|
#endif
|
|
|
|
#define STRNLEN WCSNLEN
|
|
#define USE_AS_WCSLEN 1
|
|
|
|
#include "strnlen-evex512.S"
|