[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