The new flag CONFIG_RTE_ARCH_ARM_NEON_MEMCPY is used to enable memcpy
optimizations in EAL.
As it is not always the performance benefit, the feature is disabled.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com>
CONFIG_RTE_ARCH_ARMv7=y
CONFIG_RTE_ARCH_ARM_TUNE="cortex-a9"
+# Accelerate memcpy operations. Consider enabling for Cortex-A15.
+# For Cortex-A7 and Cortex-A9, It might accelerate short data copies (< 64 B).
+CONFIG_RTE_ARCH_ARM_NEON_MEMCPY=n
+
CONFIG_RTE_FORCE_INTRINSICS=y
CONFIG_RTE_ARCH_STRICT_ALIGN=y
#include "generic/rte_memcpy.h"
-#ifdef __ARM_NEON_FP
+#ifdef RTE_ARCH_ARM_NEON_MEMCPY
+
+#ifndef RTE_MACHINE_CPUFLAG_NEON
+#error "Cannot optimize memcpy by NEON as the CPU seems to not support this"
+#endif
/* ARM NEON Intrinsics are used to copy data */
#include <arm_neon.h>
return memcpy(dst, src, n);
}
-#endif /* __ARM_NEON_FP */
+#endif /* RTE_ARCH_ARM_NEON_MEMCPY */
#ifdef __cplusplus
}