eal/x86: avoid cast-align warning in memcpy functions
authorEli Britstein <elibr@nvidia.com>
Thu, 21 Oct 2021 08:51:32 +0000 (11:51 +0300)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 25 Oct 2021 15:28:12 +0000 (17:28 +0200)
commit6de430b7079e8f7c29f9c18869393f74f8dffcb6
tree825cc4993abb4303974522488fe92cdaae4eaeb7
parentda0333c8790b365c6aa8665888a20253c4166bfe
eal/x86: avoid cast-align warning in memcpy functions

Functions and macros in x86 rte_memcpy.h may cause cast-align warnings,
when using strict cast align flag with supporting gcc:
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
CFLAGS="-Wcast-align=strict" make V=1 -C examples/l2fwd clean static

For example:
In file included from main.c:24:
/dpdk/build/include/rte_memcpy.h: In function 'rte_mov16':
/dpdk/build/include/rte_memcpy.h:306:25: warning: cast increases
required alignment of target type [-Wcast-align]
  306 |  xmm0 = _mm_loadu_si128((const __m128i *)src);
      |                         ^

As the code assumes correct alignment, add first a (void *) or (const
void *) castings, to avoid the warnings.

Fixes: 9484092baad3 ("eal/x86: optimize memcpy for AVX512 platforms")
Cc: stable@dpdk.org
Signed-off-by: Eli Britstein <elibr@nvidia.com>
lib/eal/x86/include/rte_memcpy.h