[PATCH v2 2/2] lpm: add a scalar version of lookupx4 function
Bruce Richardson
bruce.richardson at intel.com
Mon May 30 09:52:22 CEST 2022
On Fri, May 27, 2022 at 01:15:20PM -0700, Stephen Hemminger wrote:
> On Fri, 27 May 2022 20:18:22 +0200
> Stanislaw Kardach <kda at 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
More information about the dev
mailing list