From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <bruce.richardson@intel.com>
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by dpdk.org (Postfix) with ESMTP id 9935B7CDE
 for <dev@dpdk.org>; Mon, 11 Dec 2017 16:31:20 +0100 (CET)
X-Amp-Result: UNKNOWN
X-Amp-Original-Verdict: FILE UNKNOWN
X-Amp-File-Uploaded: False
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 11 Dec 2017 07:31:19 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.45,392,1508828400"; d="scan'208";a="12467452"
Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.106])
 by fmsmga001.fm.intel.com with SMTP; 11 Dec 2017 07:31:17 -0800
Received: by  (sSMTP sendmail emulation); Mon, 11 Dec 2017 15:31:17 +0000
Date: Mon, 11 Dec 2017 15:31:16 +0000
From: Bruce Richardson <bruce.richardson@intel.com>
To: Elza Mathew <elza.mathew@intel.com>
Cc: jasvinder.singh@intel.com, dev@dpdk.org
Message-ID: <20171211153116.GA12544@bricha3-MOBL3.ger.corp.intel.com>
References: <1509991543-26521-1-git-send-email-elza.mathew@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1509991543-26521-1-git-send-email-elza.mathew@intel.com>
Organization: Intel Research and Development Ireland Ltd.
User-Agent: Mutt/1.9.1 (2017-09-22)
Subject: Re: [dpdk-dev] [PATCH 3/3] net: run-time function selection
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Dec 2017 15:31:21 -0000

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@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