[dpdk-dev] [PATCH 3/3] net: run-time function selection

Bruce Richardson bruce.richardson at intel.com
Mon Dec 11 16:31:16 CET 2017

On Mon, Nov 06, 2017 at 10:05:43AM -0800, Elza Mathew wrote:
> Compile-time function selection can potentially lead to
> lower performance on generic builds done by distros.
> Replaced compile time flag checks with run-time
> function selection.
> Signed-off-by: Elza Mathew <elza.mathew at intel.com>
> ---
>  lib/librte_net/rte_net_crc.c | 22 +++++++++++++---------
>  1 file changed, 13 insertions(+), 9 deletions(-)
Patch looks good to me, but unfortunately the compilation testing shows
an issue with clang compliation on FreeBSD 10. I've also tested with gcc
on both BSD 10 and 11 and saw no issues, and BSD 11 clang compilation is
also fine. 

The compilation error is due to missing _mm_clmulepi64_si128 instrinsic:
In file included from /home/patchWorkOrg/compilation/lib/librte_net/rte_net_crc.c:43:
/home/patchWorkOrg/compilation/lib/librte_net/net_crc_sse.h:81:17: error: implicit declaration of function '_mm_clmulepi64_si128' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        __m128i tmp0 = _mm_clmulepi64_si128(fold, precomp, 0x01);


More information about the dev mailing list