From 64502fab90ce1a3150c9db6e1c2c27201945e74d Mon Sep 17 00:00:00 2001 From: Jerin Jacob Date: Fri, 12 Feb 2016 16:43:51 +0530 Subject: [PATCH] examples/distributor: fix build for non-x86 arch _mm_prefetch is defined only in x86 compilers. Use rte_prefetch_non_temporal() abstraction instead of _mm_prefetch(x, 0) to in-order to build distributor application for non x86 platforms Signed-off-by: Jerin Jacob --- examples/distributor/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/distributor/main.c b/examples/distributor/main.c index 4e74f8fa81..c0201a9e3b 100644 --- a/examples/distributor/main.c +++ b/examples/distributor/main.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #define RX_RING_SIZE 256 @@ -335,13 +336,13 @@ lcore_tx(struct rte_ring *in_r) /* for traffic we receive, queue it up for transmit */ uint16_t i; - _mm_prefetch((void *)bufs[0], 0); - _mm_prefetch((void *)bufs[1], 0); - _mm_prefetch((void *)bufs[2], 0); + rte_prefetch_non_temporal((void *)bufs[0]); + rte_prefetch_non_temporal((void *)bufs[1]); + rte_prefetch_non_temporal((void *)bufs[2]); for (i = 0; i < nb_rx; i++) { struct output_buffer *outbuf; uint8_t outp; - _mm_prefetch((void *)bufs[i + 3], 0); + rte_prefetch_non_temporal((void *)bufs[i + 3]); /* * workers should update in_port to hold the * output port value