From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruce Richardson Subject: Re: [PATCH 3/3] net: run-time function selection Date: Fri, 19 Jan 2018 09:20:14 +0000 Message-ID: <20180119092014.GA14048@bricha3-MOBL3.ger.corp.intel.com> References: <1509991543-26521-1-git-send-email-elza.mathew@intel.com> <20171211153116.GA12544@bricha3-MOBL3.ger.corp.intel.com> <1676244.CyDjruyMnT@xps> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Elza Mathew , dev@dpdk.org, jasvinder.singh@intel.com To: Thomas Monjalon Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id D9A041B1D0 for ; Fri, 19 Jan 2018 10:20:18 +0100 (CET) Content-Disposition: inline In-Reply-To: <1676244.CyDjruyMnT@xps> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, Jan 19, 2018 at 12:43:09AM +0100, Thomas Monjalon wrote: > 11/12/2017 16:31, Bruce Richardson: > > 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 > > > --- > > > 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); > > Any update please? I'll work with Elza to see if I can find a workaround for this compiler issue. In the meantime, perhaps patches 1 and 2 of the set can be applied so that we can do a new patch 3 only when we get it fixed. /Bruce