* [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics
@ 2014-08-01 16:48 Neil Horman
[not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Neil Horman @ 2014-08-01 16:48 UTC (permalink / raw)
To: dev-VfR2kkLFssw
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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
---
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
^ permalink raw reply related [flat|nested] 4+ messages in thread[parent not found: <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>]
* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics [not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> @ 2014-08-01 17:39 ` Richardson, Bruce [not found] ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org> 0 siblings, 1 reply; 4+ messages in thread From: Richardson, Bruce @ 2014-08-01 17:39 UTC (permalink / raw) To: Neil Horman, dev-VfR2kkLFssw@public.gmane.org > -----Original Message----- > From: Neil Horman [mailto:nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org] > Sent: Friday, August 01, 2014 9:49 AM > To: dev-VfR2kkLFssw@public.gmane.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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> > CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> > --- > 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-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>]
* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics [not found] ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org> @ 2014-08-12 23:55 ` Thomas Monjalon 2014-08-13 10:11 ` Neil Horman 0 siblings, 1 reply; 4+ messages in thread From: Thomas Monjalon @ 2014-08-12 23:55 UTC (permalink / raw) To: Richardson, Bruce, Neil Horman; +Cc: dev-VfR2kkLFssw > > 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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> > > CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> > > Acked-by: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> Applied for version 1.7.1. Now, ixgbe_rxtx_vec.c should be usable on all x86_64 CPU, or am I forgetting something? Thanks -- Thomas ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics 2014-08-12 23:55 ` Thomas Monjalon @ 2014-08-13 10:11 ` Neil Horman 0 siblings, 0 replies; 4+ messages in thread From: Neil Horman @ 2014-08-13 10:11 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev-VfR2kkLFssw On Wed, Aug 13, 2014 at 01:55:45AM +0200, Thomas Monjalon wrote: > > > 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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> > > > CC: "Konstantin Ananyev" <konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > > CC: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > > CC: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org> > > > > Acked-by: Bruce Richardson <bruce.richardson-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> > > Applied for version 1.7.1. > > Now, ixgbe_rxtx_vec.c should be usable on all x86_64 CPU, > or am I forgetting something? > Nope, this will do it. All thats left now is to settle on the approach for the ACL library Thanks Neil > Thanks > -- > Thomas > ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2014-08-13 10:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-01 16:48 [PATCH] ixgbe: Reduce compilation to only require sse3 intrinsics Neil Horman
[not found] ` <1406911737-13362-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-08-01 17:39 ` Richardson, Bruce
[not found] ` <59AF69C657FD0841A61C55336867B5B0343D47DF-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-08-12 23:55 ` Thomas Monjalon
2014-08-13 10:11 ` Neil Horman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).