diff options
author | Noah Goldstein <goldstein.w.n@gmail.com> | 2022-01-10 15:35:38 -0600 |
---|---|---|
committer | Noah Goldstein <goldstein.w.n@gmail.com> | 2022-02-03 16:41:38 -0600 |
commit | b77b06e0e296f1a2276c27a67e1d44f2cfa38d45 (patch) | |
tree | 76e602ea1fafa769ccad9cce1d5c97a6302e140b /sysdeps/htl/pt-rwlock-tryrdlock.c | |
parent | 1a908d9074102bf3dbe2451ad12f2fbc1abbd7dd (diff) | |
download | glibc-b77b06e0e296f1a2276c27a67e1d44f2cfa38d45.tar.gz glibc-b77b06e0e296f1a2276c27a67e1d44f2cfa38d45.tar.xz glibc-b77b06e0e296f1a2276c27a67e1d44f2cfa38d45.zip |
x86: Optimize strcmp-avx2.S
Optimization are primarily to the loop logic and how the page cross logic interacts with the loop. The page cross logic is at times more expensive for short strings near the end of a page but not crossing the page. This is done to retest the page cross conditions with a non-faulty check and to improve the logic for entering the loop afterwards. This is only particular cases, however, and is general made up for by more than 10x improvements on the transition from the page cross -> loop case. The non-page cross cases are improved most for smaller sizes [0, 128] and go about even for (128, 4096]. The loop page cross logic is improved so some more significant speedup is seen there as well. test-strcmp, test-strncmp, test-wcscmp, and test-wcsncmp all pass. Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
Diffstat (limited to 'sysdeps/htl/pt-rwlock-tryrdlock.c')
0 files changed, 0 insertions, 0 deletions