From: Stanislaw Kardach Date: Thu, 9 Jun 2022 12:16:59 +0000 (+0200) Subject: eal/riscv: fix vector header for C++ X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=93cba71bdce193d1ddb76ad33d4282136e16dd09;p=dpdk.git 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: f22e705ebf12 ("eal/riscv: support RISC-V architecture") Signed-off-by: Stanislaw Kardach Reviewed-by: David Marchand --- diff --git a/lib/eal/riscv/include/rte_vect.h b/lib/eal/riscv/include/rte_vect.h index 4600521c20..2f97f437a2 100644 --- a/lib/eal/riscv/include/rte_vect.h +++ b/lib/eal/riscv/include/rte_vect.h @@ -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;