On Thu, Jun 9, 2022 at 2:17 PM Stanislaw Kardach <k...@semihalf.com> wrote: > > rte_xmm_t is a union type which wraps around xmm_t and maps its contents > to scalar structures. Since C++ has stricter type conversion rules than > C, the rte_xmm_t::x has to be used instead of C-casting. > > The generated assembly is identical to the code without the fix (checked > both on x86 and RISC-V).
Fixes: 406937f89ffd ("lpm: add scalar version of lookupx4") > > Signed-off-by: Stanislaw Kardach <k...@semihalf.com> Reviewed-by: David Marchand <david.march...@redhat.com> > --- > lib/lpm/rte_lpm_scalar.h | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/lib/lpm/rte_lpm_scalar.h b/lib/lpm/rte_lpm_scalar.h > index f0d9f37894..161b40ff80 100644 > --- a/lib/lpm/rte_lpm_scalar.h > +++ b/lib/lpm/rte_lpm_scalar.h > @@ -15,18 +15,19 @@ extern "C" { > > static inline void > rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4], > - uint32_t defv) > + uint32_t defv) Nit: unrelated whitespace change. Besides, indent is supposed to be one tab. This can be dropped when applying. -- David Marchand