diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2015-07-13 13:09:00 +0100 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-07 03:39:57 -0800 |
commit | 8ce54c1d98e1d3b28a81459a2ce6d1e2bc78965c (patch) | |
tree | 98599b19a7c2e66f2781d75f97d80403fb917d5e /libc/arch-mips64 | |
parent | 95cc2b990baffb4f1149c16647d4e2e2069054e5 (diff) | |
download | android_bionic-8ce54c1d98e1d3b28a81459a2ce6d1e2bc78965c.tar.gz android_bionic-8ce54c1d98e1d3b28a81459a2ce6d1e2bc78965c.tar.bz2 android_bionic-8ce54c1d98e1d3b28a81459a2ce6d1e2bc78965c.zip |
libc: ARM64: Optimize memcpy.
This is an optimized memcpy for AArch64. Copies are split into 3 main
cases: small copies of up to 16 bytes, medium copies of 17..96 bytes
which are fully unrolled. Large copies of more than 96 bytes align
the destination and use an unrolled loop processing 64 bytes per
iteration. In order to share code with memmove, small and medium
copies read all data before writing, allowing any kind of overlap. On
a random copy test memcpy is 40.8% faster on A57 and 28.4% on A53.
Change-Id: Ibb9483e45bbc0e8ca3d5ce98a31c55dfd8a5ac28
Diffstat (limited to 'libc/arch-mips64')
0 files changed, 0 insertions, 0 deletions