diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2014-09-25 16:49:38 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2014-10-06 11:20:59 -0400 |
commit | d9cd52e64d7b6b0fd56566de87c826cb6fe3677d (patch) | |
tree | 2e79c9dae8aaf921b08bd73c3af19d65879545cd /ChangeLog | |
parent | 4b68ea1162f39f62590e49eb5d4371871e071f32 (diff) | |
download | glibc-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 'ChangeLog')
-rw-r--r-- | ChangeLog | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 44a45e209a..7dd6029d2c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2014-10-02 Chris Metcalf <cmetcalf@tilera.com> + * sysdeps/tile/memcmp.c: New file. + * sysdeps/unix/sysv/linux/tile/sysconf.c: New file. * sysdeps/tile/tilegx/string-endian.h (STRSHIFT): New macro. |