[PATCH 2/3] lpm: fix xmm_t casting for C++ in scalar version
David Marchand
david.marchand at redhat.com
Mon Jun 13 11:29:31 CEST 2022
On Thu, Jun 9, 2022 at 2:17 PM Stanislaw Kardach <kda at 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 <kda at semihalf.com>
Reviewed-by: David Marchand <david.marchand at 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
More information about the dev
mailing list