diff options
author | Jake Weinstein <xboxlover360@gmail.com> | 2016-08-25 20:03:25 -0400 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2017-04-13 11:18:56 -0700 |
commit | 04d99df80db386cad1e3f83f3d760920e6f61b32 (patch) | |
tree | 8d52e4795bda9c224b572bfb34938f8153c1f171 /libc/stdio/stdio_ext.cpp | |
parent | f568ccd34afddc2b4223b309109d533349d73749 (diff) |
libc: ARM: Add 32-bit Kryo memcpy
* Memcpy is based on Scorpion due to Qualcomm's
128-bit cache line size optimizations.
* PLDOFFSET and PLDSIZE are from the ARM64 Kryo memcpy routine.
Below are the results of the benchmark, tested on a OnePlus 3 with MSM8996.
Before:
BM_string_memcpy/8 1000k 8 0.934 GiB/s
BM_string_memcpy/64 1000k 11 5.785 GiB/s
BM_string_memcpy/512 1000k 25 19.918 GiB/s
BM_string_memcpy/1024 50M 42 23.938 GiB/s
BM_string_memcpy/8Ki 10M 473 17.291 GiB/s
BM_string_memcpy/16Ki 5M 565 28.976 GiB/s
BM_string_memcpy/32Ki 1000k 1105 29.631 GiB/s
BM_string_memcpy/64Ki 1000k 2194 29.864 GiB/s
After:
BM_string_memcpy/8 1000k 6 1.145 GiB/s
BM_string_memcpy/64 1000k 7 8.560 GiB/s
BM_string_memcpy/512 1000k 18 27.370 GiB/s
BM_string_memcpy/1024 50M 33 30.340 GiB/s
BM_string_memcpy/8Ki 10M 266 30.770 GiB/s
BM_string_memcpy/16Ki 5M 553 29.599 GiB/s
BM_string_memcpy/32Ki 1000k 1121 29.219 GiB/s
BM_string_memcpy/64Ki 1000k 2208 29.678 GiB/s
Test: make otapackage
Test: Ran bionic unit tests on Pixel device. Verified memcpy wins on
Test: Pixel device.
Change-Id: Id7a9c37ef75a306dd5cf8d374d79d0fe83f8a3ba
Diffstat (limited to 'libc/stdio/stdio_ext.cpp')
0 files changed, 0 insertions, 0 deletions