ixgbe: require only 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@tuxdriver.com>
CC: Konstantin Ananyev <konstantin.ananyev@intel.com>
CC: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Neil Horman 2014-08-01 12:48:57 -04:00 committed by Thomas Monjalon
parent 7b4482e04b
commit 8777aabc53

View File

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