Thread (47 messages) 47 messages, 6 authors, 2016-03-11

Re: [PATCH v3 2/3] lpm: add support for NEON

From: Jerin Jacob <hidden>
Date: 2016-02-12 06:47:50

On Thu, Feb 11, 2016 at 12:46:33PM +0100, Thomas Monjalon wrote:
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"
+#endif
Instead 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.

But if anyone has any objections then I can add the check else let
keep in existing way.

[1]
http://dpdk.org/ml/archives/dev/2016-January/031147.html

Jerin
By the way, what is the minimum SSE version required?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help