06/03/2020 08:44, Jerin Jacob: > On Fri, Mar 6, 2020 at 10:35 AM Gavin Hu <gavin...@arm.com> wrote: > > --- a/drivers/net/i40e/i40e_rxtx_vec_common.h > > +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h > > @@ -98,6 +98,11 @@ i40e_tx_free_bufs(struct i40e_tx_queue *txq) > > if (likely(m != NULL)) { > > free[0] = m; > > nb_free = 1; > > +#if defined(__clang__) > > +#pragma clang loop vectorize(assume_safety) > > +#elif defined(__GNUC__) > > +#pragma GCC ivdep > > +#endif > > IMO, It is better to abstract the compiler features (above compiler > feature and __restrict__) as macros in > rte_common.h or so. It will help to support other compilers(ICC or > Windows) and enable them to have "changes" in one place.
I agree with the need for common abstraction.