about summary refs log tree commit diff
path: root/sysdeps/wordsize-64
diff options
context:
space:
mode:
authorChris Metcalf <cmetcalf@tilera.com>2014-09-25 16:49:38 -0400
committerChris Metcalf <cmetcalf@tilera.com>2014-10-06 11:20:59 -0400
commitd9cd52e64d7b6b0fd56566de87c826cb6fe3677d (patch)
tree2e79c9dae8aaf921b08bd73c3af19d65879545cd /sysdeps/wordsize-64
parent4b68ea1162f39f62590e49eb5d4371871e071f32 (diff)
downloadglibc-d9cd52e64d7b6b0fd56566de87c826cb6fe3677d.tar.gz
glibc-d9cd52e64d7b6b0fd56566de87c826cb6fe3677d.tar.xz
glibc-d9cd52e64d7b6b0fd56566de87c826cb6fe3677d.zip
tile: optimize memcmp
Customize memcmp.c for tile, using similar tricks from memcpy:

- replace MERGE macro with dblalign.
- replace memcmp_bytes function with revbytes.
- use __glibc_likely.
- use post-increment addressing.

The schedule is still not perfect: the compiler is not hoisting
code above the comparison branch, which could save a bundle or two.
memcmp speeds up by 30-40% on shorter aligned tests in benchtest,
with some tests with unaligned lengths taking a small performance hit.
Diffstat (limited to 'sysdeps/wordsize-64')
0 files changed, 0 insertions, 0 deletions