[dpdk-dev] [PATCH v3] lib/librte_sched: Fix compile with gcc 4.3.4
Michael Qiu
michael.qiu at intel.com
Wed Dec 2 03:39:27 CET 2015
gcc 4.3.4 does not include "immintrin.h", and will post below error:
lib/librte_sched/rte_sched.c:56:23: error:
immintrin.h: No such file or directory
This compiler issue is fixed with rte_vect.h
There is another issue, need SSE2 support
Fixes: 42ec27a0178a ("sched: enable SSE optimizations in config")
Signed-off-by: Michael Qiu <michael.qiu at intel.com>
---
v3 --> v2:
reformat commit log
move rte_vect.h inside RTE_SCHED_VECTOR
v2 --> v1:
include header file rte_vect.h instead of gcc version check
change __AVX__ to __SSE2__ since all vector function are SSE2 related
lib/librte_sched/rte_sched.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
index d47cfc2..21ebf25 100644
--- a/lib/librte_sched/rte_sched.c
+++ b/lib/librte_sched/rte_sched.c
@@ -53,7 +53,12 @@
#endif
#ifdef RTE_SCHED_VECTOR
-#include <immintrin.h>
+#include <rte_vect.h>
+
+#if defined(__SSE2__)
+#define SCHED_VECTOR_SSE2
+#endif
+
#endif
#define RTE_SCHED_TB_RATE_CONFIG_ERR (1e-7)
@@ -1667,7 +1672,7 @@ grinder_schedule(struct rte_sched_port *port, uint32_t pos)
return 1;
}
-#ifdef RTE_SCHED_VECTOR
+#ifdef SCHED_VECTOR_SSE2
static inline int
grinder_pipe_exists(struct rte_sched_port *port, uint32_t base_pipe)
--
1.9.3
More information about the dev
mailing list