summaryrefslogtreecommitdiffstats
path: root/newlib/libc/machine/arm/memcpy.S
Commit message (Collapse)AuthorAgeFilesLines
* Make macro checks ARMv8-M baseline proofThomas Preud'homme2016-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libgloss: * arm/Makefile.in: Add newlib/libc/machine/arm to the include path if newlib is present. * arm/arm.h: Include acle-compat.h. (THUMB_V7_V6M): Rename to ... (PREFER_THUMB): This. Use ACLE macros __ARM_ARCH_ISA_ARM instead of __ARM_ARCH_6M__ to decide whether to define it. (THUMB1_ONLY): Define for Thumb-1 only targets. (THUMB_V7M_V6M): Rename to ... (THUMB_VXM): This. Defined based on __ARM_ARCH_ISA_ARM, excluding ARMv7. * arm/crt0.S: Use THUMB1_ONLY rather than __ARM_ARCH_6M__, !__ARM_ARCH_ISA_ARM rather than THUMB_V7M_V6M for fp enabling, and PREFER_THUMB rather than THUMB_V7_V6M. Rename other occurences of THUMB_V7M_V6M to THUMB_VXM. * arm/linux-crt0.c: Likewise. * arm/redboot-crt0.S: Likewise. * arm/swi.h: Likewise. * arm/trap.S: Likewise. newlib: * libc/machine/arm/memcpy-stub.c: Use ACLE macros __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to check for Thumb-2 only targets rather than __ARM_ARCH and __ARM_ARCH_PROFILE. * libc/machine/arm/memcpy.S: Likewise. * libc/machine/arm/setjmp.S: Likewise for Thumb-1 only target and include acle-compat.h. * libc/machine/arm/strcmp.S: Likewise for Thumb-1 and Thumb-2 only target and include acle-compat.h. * libc/sys/arm/arm.h: Include acle-compat.h. (THUMB_V7_V6M): Rename to ... (PREFER_THUMB): This. Use ACLE macro __ARM_ARCH_ISA_ARM instead of __ARM_ARCH_6M__ to decide whether to define it. (THUMB1_ONLY): Define for Thumb-1 only targets. (THUMB_V7M_V6M): Rename to ... (THUMB_VXM): This. Defined based on __ARM_ARCH_ISA_ARM, excluding ARMv7. * libc/sys/arm/crt0.S: Use PREFER_THUMB rather than THUMB_V7_V6M and rename THUMB_V7M_V6M into THUMB_VXM. * libc/sys/arm/swi.h: Likewise.
* Reorganize memcpy selection.Marcus Shawcroft2015-11-061-14/+9
| | | | | | | | | | | | | | | | | | | This patch cleans up the auto configury mechanism used to select different implementations of memcpy for various architecture versions. The approach here is to remove the selection of memcpy within automake and instead use complimentary logic in memcpy-stub.c and memcpy.S to choose between the generic memcpy.c implemenation or one of the architecture specific memcpy*.S implemenations. Regressed for armv7-a armv5 armv8-a, correct selection of memcpy implementation by manual inspection of a test program built for these three architectures. This revised patch flips the remaining preprocessor logic in memcpy-stub.c to use ACLE defines as requested in the previous review and removes the now disused HAVE_ARMV7A and HAVE_ARMV8A configure.in support.
* [ARM] Select appropriate memcpy implementation for ARMv8-a.Marcus Shawcroft2015-11-031-2/+3
| | | | | | | | | The newlib configury logic that detects architecture version and chooses an appropriate memcpy implementation does not consider ARMv8-a. This patch adds configury logic to detect ARMv8-a along with the associated changes in Makefile.am and memcpy.
* 2014-09-05 Hale Wang <hale.wang@arm.com>Jeff Johnston2014-09-051-2/+14
| | | | | | | | | | | | | * libc/machine/arm/memchr.S: Clean up the wrapper. * libc/machine/arm/memcpy.S: Likewise. * libc/machine/arm/memchr-stub.c: Delete this redundant file. * libc/machine/arm/memcpy-stub.c: Likewise. * libc/machine/arm/strcmp.S: Add speed-preferred wrapper. * libc/machine/arm/strlen.S: Likewise. * libc/machine/arm/Makefile.am: Add dependencies. * libc/machine/arm/Makefile.in: Regenerated. * libc/machine/arm/configure.in: Add dependencies. * libc/machine/arm/configure: Regenerated.
* 2013-06-03 Joey Ye <joey.ye@arm.com>Richard Earnshaw2013-06-031-618/+32
| | | | | | | | | | | | * libc/machine/arm/Makefile.am (MEMCPY_DEP): New define. ($(lpfx)memcpy.o, $(lpfx)memcpy.obj): Depend on MEMCPY_DEP. * libc/machine/arm/Makefile.in: Regenerated. * newlib/libc/machine/arm/memcpy-stub.c: Exclude armv7-m/armv7e-m. * newlib/libc/machine/arm/memcpy-armv7m.S: New. * newlib/libc/machine/arm/memcpy.S: Replace with wrapper code. Old code moved to ... * newlib/libc/machine/arm/memcpy-armv7a.S: ... here. Remove redundant architecture check.
* 2013-04-12 Will Newton <will.newton@linaro.org>Jeff Johnston2013-04-121-401/+603
| | | | | | | * libc/machine/arm/memcpy-stub.c: Use generic memcpy if unaligned access is not enabled. * libc/machine/arm/memcpy.S: Faster memcpy implementation for Cortex A15 cores using NEON and VFP if available.
* * libc/machine/arm/memcpy.S: Fix unaligned access copying.Nick Clifton2011-10-041-4/+10
|
* * libc/machine/arm/memcpy.S: New file. Contains a hand codedNick Clifton2011-09-291-0/+417
memcpy function optimized for the cortex-a15. * libc/machine/arm/memcpy-stub.c: New file. * libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memcpy-stub.c, memcpy.S. * libc/machine/arm/Makefile.in: Regenerate.