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.mat...@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); /Bruce