bionic: add support for non-NEON memcpy() on NEON SoCs

Some SoCs that support NEON nevertheless perform better with a non-NEON than a
NEON memcpy().  This patch adds build variable ARCH_ARM_USE_NON_NEON_MEMCPY,
which can be set in BoardConfig.mk.  When ARCH_ARM_USE_NON_NEON_MEMCPY is
defined, we compile in the non-NEON optimized memcpy() even if the SoC supports
NEON.

Change-Id: Ia0e5bee6bad5880ffc5ff8f34a1382d567546cf9
This commit is contained in:
Prajakta Gudadhe 2012-05-07 14:17:44 -07:00 committed by Iliyan Malchev
parent 08b51e2c09
commit 08e72d0161
2 changed files with 4 additions and 1 deletions

View File

@ -478,6 +478,9 @@ ifeq ($(TARGET_ARCH),arm)
ifeq ($(ARCH_ARM_HAVE_TLS_REGISTER),true)
libc_common_cflags += -DHAVE_ARM_TLS_REGISTER
endif
ifeq ($(ARCH_ARM_USE_NON_NEON_MEMCPY),true)
libc_common_cflags += -DARCH_ARM_USE_NON_NEON_MEMCPY
endif
else # !arm
ifeq ($(TARGET_ARCH),x86)
libc_crt_target_cflags :=

View File

@ -29,7 +29,7 @@
#include <machine/cpu-features.h>
#include <machine/asm.h>
#if defined(__ARM_NEON__)
#if defined(__ARM_NEON__) && !defined(ARCH_ARM_USE_NON_NEON_MEMCPY)
.text
.fpu neon