From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v3 5/5] net/mlx5: add vectorized Rx/Tx burst for SSE4.1 Date: Thu, 6 Jul 2017 10:58:29 +0100 Message-ID: References: <20170628230403.10142-1-yskoh@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: dev@dpdk.org, adrien.mazarguil@6wind.com, nelio.laranjeiro@6wind.com To: Yongseok Koh Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 8A8E5235 for ; Thu, 6 Jul 2017 11:58:32 +0200 (CEST) In-Reply-To: Content-Language: en-US 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 7/5/2017 7:12 PM, Yongseok Koh wrote: > To make vectorized burst routines enabled, it is required to run on x86_64 > architecture which can support at least SSE4.1. If all the conditions are > met, the vectorized burst functions are enabled automatically. The decision > is made individually on RX and TX. There's no PMD option to make a > selection. > > Signed-off-by: Yongseok Koh Hi Yongseok, clang [2] is producing following build error [1], can you please check? Thanks, ferruh [1] .../dpdk/drivers/net/mlx5/mlx5_rxtx_vec_sse.c:686:23: error: cannot convert between vector values of different size ('__m128i' (vector of 2 'long long' values) and 'unsigned long') invalid_mask = zero | ((mcqe_n - pos) * sizeof(uint16_t) * 8); ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../dpdk/drivers/net/mlx5/mlx5_rxtx_vec_sse.c:1055:15: error: cannot convert between vector values of different size ('__m128i' (vector of 2 'long long' values) and 'unsigned long') mask = zero | ((pkts_n - pos) * sizeof(uint16_t) * 8); ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../dpdk/drivers/net/mlx5/mlx5_rxtx_vec_sse.c:1163:15: error: cannot convert between vector values of different size ('__m128i' (vector of 2 'long long' values) and 'unsigned long') mask = zero | (comp_idx * sizeof(uint16_t) * 8); ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .../dpdk/drivers/net/mlx5/mlx5_rxtx_vec_sse.c:1172:15: error: cannot convert between vector values of different size ('__m128i' (vector of 2 'long long' values) and 'unsigned long') mask = zero | (n * sizeof(uint16_t) * 8); ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 errors generated. [2] ICC is giving build error for same lines, I assume fixing clang will fix the ICC,