aarch64: Optimized memcmp for medium to large sizes
commit30a81dae5b752f8aa5f96e7f7c341ec57cba3585
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Tue, 6 Mar 2018 13:52:39 +0000 (6 19:22 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Tue, 6 Mar 2018 13:52:40 +0000 (6 19:22 +0530)
treef991950610e09e999bcc17047c3dbec2c278bfc4
parentadc95fb06a22264349de21507de1a7e652a4052d
aarch64: Optimized memcmp for medium to large sizes

This improved memcmp provides a fast path for compares up to 16 bytes
and then compares 16 bytes at a time, thus optimizing loads from both
sources.  The glibc memcmp microbenchmark retains performance (with an
error of ~1ns) for smaller compare sizes and reduces up to 31% of
execution time for compares up to 4K on the APM Mustang.  On Qualcomm
Falkor this improves to almost 48%, i.e. it is almost 2x improvement
for sizes of 2K and above.

* sysdeps/aarch64/memcmp.S: Widen comparison to 16 bytes at a
time.
ChangeLog
sysdeps/aarch64/memcmp.S