bionic/libc/arch-arm/bionic
Greta Yorsh eb149e954e Adding strcmp tuned for Cortex-A15.
The attached patch provides a new implementation of strcmp for ARM,
using LDRD instead of LDR whenever possible.

For older architectures that do not support LDRD, this implementation
uses the same algorithm as before.

Testing and benchmarking:
* Validation: successfully passes a test that compares different strings
of length 1-128 and offsets 0-8 from a word boundary. Checked on
qemu/A15/A9, ARM/Thumb mode, Big/Little Endian.
* Integration with gcc: no regression on qemu for arm-none-eabi --with-cpu
a15/a9 --with-mode arm/thumb.

Change-Id: I9e230e1b99dbdc9119b69ee858a89038c516a4ea
Signed-off-by: Vassilis Laganakos <vasileios.laganakos@arm.com>
2013-03-01 10:41:01 +00:00
..
__get_sp.S Use ENTRY/END in ARM __get_sp. 2013-02-11 16:58:34 -08:00
_exit_with_stack_teardown.S Clean up ARM assembler files to use ENTRY/END. 2013-02-11 15:36:59 -08:00
_setjmp.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
abort_arm.S Implement the "abort" stub in assembly for ARM. 2012-05-08 14:47:20 -07:00
atexit_legacy.c Fix the duplication in the debugging code. 2013-01-18 22:20:06 -08:00
atexit.h ARM: make CRT_LEGACY_WORKAROUND work as intended 2012-08-28 10:27:02 +02:00
atomics_arm.c libc: Fix typo that broke NDK compatibility. 2011-11-23 14:38:36 +01:00
clone.S Fix the pthread_setname_np test. 2013-02-15 12:08:59 -08:00
crtbegin_so.c Rename __dso_handle_so.c to __dso_handle_so.h 2012-09-07 12:49:41 +08:00
crtbegin.c Fix x86 build, remove void* arithmetic. 2013-02-07 12:16:10 -08:00
crtend_so.S ARM: remove dummy entries from .so init_array/fini_array 2012-08-28 09:55:51 +02:00
crtend.S libc: remove ctors/dtors sections 2012-08-22 20:45:26 +02:00
eabi.c ARM: make CRT_LEGACY_WORKAROUND work as intended 2012-08-28 10:27:02 +02:00
exidx_dynamic.c Add link.h for all platforms with dl_phdr_info 2012-08-17 12:44:23 -07:00
exidx_static.c Add link.h for all platforms with dl_phdr_info 2012-08-17 12:44:23 -07:00
ffs.S Everyone has CLZ. 2013-02-13 14:40:48 -08:00
futex_arm.S Clean up ARM assembler files to use ENTRY/END. 2013-02-11 15:36:59 -08:00
kill.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
libgcc_compat.c Add __aeabi_idiv to the dummy reference list. 2013-01-14 15:33:40 -08:00
memcmp16.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
memcmp.S Add a bunch more missing ENDs to assembler routines. 2013-02-13 15:12:32 -08:00
memcpy.a15.S Adding memcpy tuned for Cortex-A15. 2013-03-01 10:40:50 +00:00
memcpy.S Add optimized version of memcpy for Cortex A9 2012-11-08 18:02:14 -08:00
memset.S Add a bunch more missing ENDs to assembler routines. 2013-02-13 15:12:32 -08:00
setjmp.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
sigsetjmp.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
strcmp.a15.S Adding strcmp tuned for Cortex-A15. 2013-03-01 10:41:01 +00:00
strcmp.S Use ENTRY and EXIT macros for strcmp, memcpy, atexit. 2011-10-11 12:12:05 +04:00
strcpy.S Add function marks and size indications 2011-02-17 09:07:25 -08:00
strlen.c auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
syscall.S Clean up ARM assembler files to use ENTRY/END. 2013-02-11 15:36:59 -08:00
tgkill.S Add tgkill syscall. 2011-11-18 16:40:48 -08:00
tkill.S Add function marks and size indications 2011-02-17 09:07:25 -08:00