android_bionic/libc/arch-arm
Jake Weinstein bff53b2617 libc: import ARM strcmp from newlib
* Current version is also based on newlib, but an older revision

* The Krait and A9 specific changes no longer seem relevant, so
  let's use A15 directly.

Tested on OnePlus 3 (MSM8996):

Before (Krait strcmp):
                                       iterations      ns/op
BM_string_strcmp/8                          1000k         24    0.322 GiB/s
BM_string_strcmp/64                           20M        123    0.519 GiB/s
BM_string_strcmp/512                           2M        920    0.556 GiB/s
BM_string_strcmp/1024                       1000k       1818    0.563 GiB/s
BM_string_strcmp/8Ki                         200k      14405    0.569 GiB/s
BM_string_strcmp/16Ki                        100k      28762    0.570 GiB/s
BM_string_strcmp/32Ki                         50k      57526    0.570 GiB/s
BM_string_strcmp/64Ki                         10k     114959    0.570 GiB/s

After:
                                       iterations      ns/op
BM_string_strcmp/8                          1000k         28    0.284 GiB/s
BM_string_strcmp/64                           20M        107    0.596 GiB/s
BM_string_strcmp/512                           2M        800    0.639 GiB/s
BM_string_strcmp/1024                       1000k       1579    0.649 GiB/s
BM_string_strcmp/8Ki                         200k      12469    0.657 GiB/s
BM_string_strcmp/16Ki                        100k      24931    0.657 GiB/s
BM_string_strcmp/32Ki                         50k      49843    0.657 GiB/s
BM_string_strcmp/64Ki                         20k      99635    0.658 GiB/s

Test: bionic-benchmarks BM_string_memcmp
Change-Id: Icb3bfb0a381bcc1e10885ca5e9547842c3f620d7
2019-05-16 04:37:26 +00:00
..
bionic Implement __gnu_[u]ldivmod_helper methods in libc 2019-04-22 18:12:55 -07:00
cortex-a7/bionic Remove denver from bionic 2018-12-04 06:38:08 +00:00
cortex-a9/bionic libc: import ARM strcmp from newlib 2019-05-16 04:37:26 +00:00
cortex-a15/bionic libc: import ARM strcmp from newlib 2019-05-16 04:37:26 +00:00
cortex-a53/bionic Remove denver from bionic 2018-12-04 06:38:08 +00:00
cortex-a55/bionic Remove denver from bionic 2018-12-04 06:38:08 +00:00
generic/bionic libc: Optimize ARM memcmp by using NEON. 2018-12-22 01:04:27 +00:00
krait/bionic libc: import ARM strcmp from newlib 2019-05-16 04:37:26 +00:00
kryo/bionic Remove denver from bionic 2018-12-04 06:38:08 +00:00
dynamic_function_dispatch.cpp libc: import ARM strcmp from newlib 2019-05-16 04:37:26 +00:00
static_function_dispatch.S Use ifunc for ARM32 fortify functions 2018-11-28 10:56:21 -08:00