[dpdk-dev] [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics

Richardson, Bruce bruce.richardson at intel.com
Fri Aug 1 19:39:48 CEST 2014


> -----Original Message-----
> From: Neil Horman [mailto:nhorman at tuxdriver.com]
> Sent: Friday, August 01, 2014 9:49 AM
> To: dev at dpdk.org
> Cc: Neil Horman; Ananyev, Konstantin; Richardson, Bruce; Thomas Monjalon
> Subject: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
> 
> ixgbe was failing to build in the default configuration because it required
> sse4.2 intrinsics, and the default config doesn't support more than sse3.
> Modify the pmd so that only sse3 intrinsics are pulled in and used.
> 
> Signed-off-by: Neil Horman <nhorman at tuxdriver.com>
> CC: "Konstantin Ananyev" <konstantin.ananyev at intel.com>
> CC: Bruce Richardson <bruce.richardson at intel.com>
> CC: Thomas Monjalon <thomas.monjalon at 6wind.com>
> ---
>  lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> index 09e19a3..fe39ca2 100644
> --- a/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> +++ b/lib/librte_pmd_ixgbe/ixgbe_rxtx_vec.c
> @@ -38,7 +38,7 @@
>  #include "ixgbe_ethdev.h"
>  #include "ixgbe_rxtx.h"
> 
> -#include <nmmintrin.h>
> +#include <tmmintrin.h>
> 
>  #ifndef __INTEL_COMPILER
>  #pragma GCC diagnostic ignored "-Wcast-qual"
> @@ -338,7 +338,7 @@ ixgbe_recv_pkts_vec(void *rx_queue, struct rte_mbuf
> **rx_pkts,
>  				pkt_mb1);
> 
>  		/* C.4 calc avaialbe number of desc */
> -		var = _mm_popcnt_u64(_mm_cvtsi128_si64(staterr));
> +		var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
>  		nb_pkts_recd += var;
>  		if (likely(var != RTE_IXGBE_DESCS_PER_LOOP))
>  			break;
> --
> 1.8.3.1

Acked-by: Bruce Richardson <bruce.richardson at intel.com>


More information about the dev mailing list