]> sourceware.org Git - glibc.git/commit
x86: Unifies 'strnlen-evex' and 'strnlen-evex512' implementations.
authorMatthew Sterrett <matthew.sterrett@intel.com>
Fri, 9 Aug 2024 22:05:09 +0000 (15:05 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 19 Aug 2024 14:34:02 +0000 (07:34 -0700)
commit294a8927694ed866ffc40833f1b6d96cd649df0a
tree038a279a694db59505571231a34bd3edb40822c8
parent25a5eb4010df94b412c67db9e346029de316d06b
x86: Unifies 'strnlen-evex' and 'strnlen-evex512' implementations.

This commit uses a common implementation 'strnlen-evex-base.S' for both
'strnlen-evex' and 'strnlen-evex512'

This patch serves both to reduce the number of implementations, and it also does some small optimizations that benefit strnlen-evex and strnlen-evex512.

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 strnlen-evex over all benchmarks (N=10) was (new/old) 0.881
Geometric mean for strnlen-evex512 over all benchmarks (N=10) was (new/old) 0.953

Code Size Changes:
    strnlen-evex       :  +31 bytes
    strnlen-evex512    :  +156 bytes
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
sysdeps/x86_64/multiarch/strnlen-evex-base.S [new file with mode: 0644]
sysdeps/x86_64/multiarch/strnlen-evex.S
sysdeps/x86_64/multiarch/strnlen-evex512.S
This page took 0.036505 seconds and 5 git commands to generate.