On Fri, May 27, 2022 at 01:15:20PM -0700, Stephen Hemminger wrote: > On Fri, 27 May 2022 20:18:22 +0200 > Stanislaw Kardach <k...@semihalf.com> wrote: > > > +static inline void > > +rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4], > > + uint32_t defv) > > +{ > > + uint32_t nh; > > + int i, ret; > > + > > + for (i = 0; i < 4; i++) { > > + ret = rte_lpm_lookup(lpm, ((rte_xmm_t)ip).u32[i], &nh); > > + hop[i] = (ret == 0) ? nh : defv; > > + } > > +} > > For performance, manually unroll the loop.
Given a constant 4x iterations, will compilers not unroll this automatically. I think the loop is a little clearer if it can be kept /Bruce