Hello, On Tue, Jul 9, 2024 at 11:24 AM David Marchand <david.march...@redhat.com> wrote: > > On Mon, Jun 10, 2024 at 3:40 PM Konstantin Ananyev > <konstantin.anan...@huawei.com> wrote: > > > When the rte_memcpy() size is 16, the same 16 bytes are copied twice. > > > In the case where the size is known to be 16 at build time, omit the > > > duplicate copy. > > > > > > Reduced the amount of effectively copy-pasted code by using #ifdef > > > inside functions instead of outside functions. > > > > > > Suggested-by: Stephen Hemminger <step...@networkplumber.org> > > > Signed-off-by: Morten Brørup <m...@smartsharesystems.com> > > > Acked-by: Bruce Richardson <bruce.richard...@intel.com> > > Acked-by: Konstantin Ananyev <konstantin.anan...@huawei.com> > > Applied, thanks for the cleanup.
This breaks OVS compilation (clang and gcc). make[1]: *** [Makefile:4722: lib/ofp-packet.lo] Error 1 make[1]: *** Waiting for unfinished jobs.... In file included from lib/ofp-print.c:34: In file included from ./lib/dp-packet.h:25: In file included from /home/runner/work/ovs/ovs/dpdk-dir/include/rte_mbuf.h:38: In file included from /home/runner/work/ovs/ovs/dpdk-dir/include/rte_mempool.h:50: /home/runner/work/ovs/ovs/dpdk-dir/include/rte_memcpy.h:113:25: error: cast from 'const uint8_t *' (aka 'const unsigned char *') to 'const __m128i *' increases required alignment from 1 to 16 [-Werror,-Wcast-align] xmm0 = _mm_loadu_si128((const __m128i *)src); ^~~~~~~~~~~~~~~~~~~~ /home/runner/work/ovs/ovs/dpdk-dir/include/rte_memcpy.h:114:19: error: cast from 'uint8_t *' (aka 'unsigned char *') to '__m128i *' increases required alignment from 1 to 16 [-Werror,-Wcast-align] _mm_storeu_si128((__m128i *)dst, xmm0); ^~~~~~~~~~~~~~ 2 errors generated. make[1]: *** [Makefile:4722: lib/ofp-print.lo] Error 1 make[1]: Leaving directory '/home/runner/work/ovs/ovs' make: *** [Makefile:3102: all] Error 2 I dropped this patch from main for now. Can you have a look please? -- David Marchand