]> git.droids-corp.org - dpdk.git/commitdiff
eal/riscv: fix vector header for C++
authorStanislaw Kardach <kda@semihalf.com>
Thu, 9 Jun 2022 12:16:59 +0000 (14:16 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 15 Jun 2022 07:12:16 +0000 (09:12 +0200)
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 <kda@semihalf.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
lib/eal/riscv/include/rte_vect.h

index 4600521c20d4a9b38513dbe818e3767c748895e6..2f97f437a256fe44251513a6768272f8767b8494 100644 (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;