_mm_prefetch is defined only in x86 compilers. rte_prefetch functions are defined in EAL for each arch, and must be preferred over compiler intrinsics.
Fixes: 07db4a975094 ("examples/distributor: new sample app") Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> --- examples/distributor/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/distributor/main.c b/examples/distributor/main.c index 4e74f8f..87344ac 100644 --- a/examples/distributor/main.c +++ b/examples/distributor/main.c @@ -335,13 +335,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_prefetch0((void *)bufs[0]); + rte_prefetch0((void *)bufs[1]); + rte_prefetch0((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_prefetch0((void *)bufs[i + 3]); /* * workers should update in_port to hold the * output port value -- 2.7.0