eal/riscv: fix vector header for C++

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.

Fixes: f22e705ebf ("eal/riscv: support RISC-V architecture")

Signed-off-by: Stanislaw Kardach <kda@semihalf.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
Stanislaw Kardach 2022-06-09 14:16:59 +02:00 committed by David Marchand
parent 68fc7c39ee
commit 93cba71bdc

View File

@ -41,8 +41,8 @@ vect_load_128(void *p)
static inline xmm_t
vect_and(xmm_t data, xmm_t mask)
{
rte_xmm_t ret = (rte_xmm_t)data;
rte_xmm_t m = (rte_xmm_t)mask;
rte_xmm_t ret = {.x = data };
rte_xmm_t m = {.x = mask };
ret.u64[0] &= m.u64[0];
ret.u64[1] &= m.u64[1];
return ret.x;