28/05/2026 11:47, David Marchand:
> On Thu, 28 May 2026 at 10:47, Thomas Monjalon <[email protected]> wrote:
> >
> > Seen in OBS on i586 Debian:
> >
> > from ../drivers/net/sxe2/sxe2_txrx_vec_sse.c:5:
> > In function ‘_mm_loadu_si128’,
> > inlined from ‘rte_memcpy’
> > inlined from ‘sxe2_rx_pkts_refactor’
> > at ../drivers/net/sxe2/sxe2_txrx_vec_common.h:233:2:
> > /usr/lib/gcc/i686-linux-gnu/12/include/emmintrin.h:703:10: error:
> > array subscript 8 is outside array bounds of ‘struct rte_mbuf *[32]’
> >
> > The important options to reproduce are "-m32 -O2 -march=corei7".
> >
> > In 32-bit build the pointer array done_pkts[32] is smaller:
> > 32 * 4 = 128 bytes
> > so an SSE access would be outside the bound.
> >
> > The libc memcpy does not trigger such warning
> > and is a good choice to copy an array of pointers.
> >
> > Signed-off-by: Thomas Monjalon <[email protected]>
>
> I reproduced and checked Debian 13 32 bits build with OBS.
> Tested-by: David Marchand <[email protected]>
Fixes: ac60f302cbef ("net/sxe2: add vectorized Rx and Tx")
Applied