[PATCH 1/3] eal/riscv: fix xmm_t casting for C++
Stanislaw Kardach
kda at semihalf.com
Thu Jun 9 14:16:59 CEST 2022
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.
Signed-off-by: Stanislaw Kardach <kda at semihalf.com>
---
lib/eal/riscv/include/rte_vect.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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;
--
2.30.2
More information about the dev
mailing list