Re: [PATCH v3 2/3] lpm: add support for NEON
From: Thomas Monjalon <hidden>
Date: 2016-02-12 08:44:13
2016-02-12 12:17, Jerin Jacob:
On Thu, Feb 11, 2016 at 12:46:33PM +0100, Thomas Monjalon wrote:quoted
2016-01-29 09:40, Jerin Jacob:quoted
--- a/lib/librte_lpm/Makefile +++ b/lib/librte_lpm/Makefile +ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),) +SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_neon.h +else SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_sse.h +endif[...]quoted
--- a/lib/librte_lpm/rte_lpm.h +++ b/lib/librte_lpm/rte_lpm.h +#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) +#include "rte_lpm_neon.h" +#else #include "rte_lpm_sse.h" +#endifInstead of defaulting to x86 SSE, it would be better to replace "else" by "elif X86/SSE". I suggest using RTE_ARCH_X86 or RTE_CPUFLAG_SSEx.Some architectures(tile)[1] are planning to emulate SSE instruction used in LPM for LPM library support.So that way it makes sense to use SSE as default.
Not sure it is a great idea to emulate instructions of another arch.
But if anyone has any objections then I can add the check else let keep in existing way.
If Tile wants to use x86 code, it's better to do it explicitly (X86 || TILE).
[1] http://dpdk.org/ml/archives/dev/2016-January/031147.html