nuttx/libs/libc/machine/arm
yaojiaqi 131f7f75ed arm: memcpy: add NEON paths for aligned copies
Add dedicated NEON implementations for mutually aligned medium and long memcpy copies when building with __ARM_NEON__. These paths use NEON multi-register loads and stores while preserving the existing VFP implementation for non-NEON VFP configurations.

NEON builds also define USE_VFP, so select the NEON implementation explicitly before falling back to VFP. Apply the same aligned-copy optimization to the armv7-a, armv7-r, and armv8-r implementations.

Signed-off-by: yaojiaqi <yaojiaqi@lixiang.com>
2026-05-09 09:46:43 +08:00
..
arm include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
armv6-m include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
armv7-a arm: memcpy: add NEON paths for aligned copies 2026-05-09 09:46:43 +08:00
armv7-m include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
armv7-r arm: memcpy: add NEON paths for aligned copies 2026-05-09 09:46:43 +08:00
armv8-m include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
armv8-r arm: memcpy: add NEON paths for aligned copies 2026-05-09 09:46:43 +08:00
aeabi_memclr.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memclr4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memclr8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memcpy8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memmove8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset4.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
aeabi_memset8.c libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
arch_atexit.c libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
arch_crc32.c libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
arch_dummy.c arch/arm: Move lib_dummy.c from arch/arm/src/common/ghs to libs/libc/machine/arm 2025-06-30 09:56:27 +08:00
arch_mcount.S libs/libc/machine/arm: add Cortex-M0/M23 support to arch_mcount 2026-02-04 03:03:45 +08:00
arch_setjmp.S libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
arch_unwind_find_exidx.c libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00
CMakeLists.txt libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
Kconfig libc/arm: optimize crc32/crc32c for arm 2025-04-04 09:51:50 -03:00
Make.defs libs/libc/arm: add back __aeabi_mem* functions 2025-11-28 14:50:58 -03:00
tc32_setjmp.S libc/machine/arm: Move all source files out of gnu folder 2025-06-30 09:56:27 +08:00