diff options
author | Christopher Ferris <cferris@google.com> | 2013-07-10 14:31:03 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2013-07-16 16:47:37 -0700 |
commit | 0aa9b52efa75b4c8bbdc12845434e25e457ea57b (patch) | |
tree | 648b4097011efca4b3a945d64ffc4787729907a1 /libstdc++ | |
parent | f35e0c149f1a6801a5af7c339f84d81ae05c3adf (diff) | |
download | bionic-0aa9b52efa75b4c8bbdc12845434e25e457ea57b.zip bionic-0aa9b52efa75b4c8bbdc12845434e25e457ea57b.tar.gz bionic-0aa9b52efa75b4c8bbdc12845434e25e457ea57b.tar.bz2 |
Add new optimized strlen for arm.
This optimized version is primarily targeted at cortex-a15.
Tested on all nexus devices using the system/extras/libc_test strlen test.
Tested alignments from 1 to 32 that are powers of 2.
Tested that strlen does not cross page boundaries at all alignments.
Speed improvements listed below:
cortex-a15
- Sizes >= 32 bytes, ~75% improvement.
- Sizes >= 1024 bytes, ~250% improvement.
cortex-a9
- Sizes >= 32 bytes, ~75% improvement.
- Sizes >= 1024 bytes, ~85% improvement.
krait
- Sizes >= 32 bytes, ~95% improvement.
- Sizes >= 1024 bytes, ~160% improvement.
Merge from internal master.
(cherry-picked from 2fc071797743b88a9a47427d46baed7c7b24f4d2)
Change-Id: I1ceceb4e745fd68e9d946f96d1d42e0cdaff6ccf
Diffstat (limited to 'libstdc++')
0 files changed, 0 insertions, 0 deletions