aboutsummaryrefslogtreecommitdiffstats
path: root/libc/arch-mips64
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2015-07-13 13:09:00 +0100
committerSteve Kondik <steve@cyngn.com>2015-11-07 03:39:57 -0800
commit8ce54c1d98e1d3b28a81459a2ce6d1e2bc78965c (patch)
tree98599b19a7c2e66f2781d75f97d80403fb917d5e /libc/arch-mips64
parent95cc2b990baffb4f1149c16647d4e2e2069054e5 (diff)
downloadandroid_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