platform_bionic/libc/arch-arm
Jake Weinstein 04d99df80d 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
2017-04-13 11:18:56 -07:00
..
bionic Removing the kuser_helper elf note from building 2017-02-09 18:37:52 -08:00
cortex-a7/bionic Fix streaming(memcpy) performance on Cortex-A7 2016-12-19 15:11:43 -08:00
cortex-a9/bionic Merge "Remove deprecated Android.mk files" 2016-06-02 16:31:40 +00:00
cortex-a15/bionic Small cleanup of cortex-a15 code. 2016-11-01 14:28:22 -07:00
cortex-a53/bionic Fix cortex-a53 inclusion of files. 2016-11-06 23:36:32 -08:00
denver/bionic Merge "Remove deprecated Android.mk files" 2016-06-02 16:31:40 +00:00
generic/bionic libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
include/machine Remove remaining big-endian cruft. 2016-09-16 18:53:34 -07:00
krait/bionic Merge "Remove deprecated Android.mk files" 2016-06-02 16:31:40 +00:00
kryo/bionic libc: ARM: Add 32-bit Kryo memcpy 2017-04-13 11:18:56 -07:00
syscalls Support 32-bit ARM vdso. 2016-07-12 13:55:51 -07:00