diff options
author | Siddhesh Poyarekar <siddhesh@sourceware.org> | 2018-06-29 18:08:20 +0530 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2018-07-13 13:27:54 +0200 |
commit | f44eee8f1bb88c235cea564106b9eab86e5ea29b (patch) | |
tree | 82ae60ab2a7b9c1bd70aaa1effa708e94ee179eb /newlib/libc/machine/xstormy16 | |
parent | 5ed8f2354fd6476deb68845174f53fa8f13b42b7 (diff) | |
download | newlib-f44eee8f1bb88c235cea564106b9eab86e5ea29b.zip newlib-f44eee8f1bb88c235cea564106b9eab86e5ea29b.tar.gz newlib-f44eee8f1bb88c235cea564106b9eab86e5ea29b.tar.bz2 |
Improve strncmp for mutually misaligned inputs
The mutually misaligned inputs on aarch64 are compared with a simple
byte copy, which is not very efficient. Enhance the comparison
similar to strcmp by loading a double-word at a time. The peak
performance improvement (i.e. 4k maxlen comparisons) due to this on
the strncmp microbenchmark in glibc is as follows:
falkor: 3.5x (up to 72% time reduction)
cortex-a73: 3.5x (up to 71% time reduction)
cortex-a53: 3.5x (up to 71% time reduction)
All mutually misaligned inputs from 16 bytes maxlen onwards show
upwards of 15% improvement and there is no measurable effect on the
performance of aligned/mutually aligned inputs.
Diffstat (limited to 'newlib/libc/machine/xstormy16')
0 files changed, 0 insertions, 0 deletions