On Thu, Mar 27, 2025 at 7:06 PM Bruce Richardson <bruce.richard...@intel.com> wrote: > > On Wed, Mar 26, 2025 at 11:39:28AM +0100, David Marchand wrote: > > Caught in OBS for Fedora Rawhide on aarch64: > > > > [ 198s] In file included from ../lib/acl/acl_run_neon.h:7, > > [ 198s] from ../lib/acl/acl_run_neon.c:5: > > [ 198s] In function ‘alloc_completion’, > > [ 198s] inlined from ‘acl_start_next_trie’ at > > ../lib/acl/acl_run.h:140:24, > > [ 198s] inlined from ‘search_neon_4.isra’ at > > ../lib/acl/acl_run_neon.h:239:20: > > [ 198s] ../lib/acl/acl_run.h:93:25: error: ‘cmplt’ may be used > > uninitialized [-Werror=maybe-uninitialized] > > [ 198s] 93 | if (p[n].count == 0) { > > [ 198s] | ~~~~^~~~~~ > > [ 198s] ../lib/acl/acl_run_neon.h: In function ‘search_neon_4.isra’: > > [ 198s] ../lib/acl/acl_run_neon.h:230:27: note: ‘cmplt’ declared here > > [ 198s] 230 | struct completion cmplt[4]; > > [ 198s] | ^~~~~ > > > > The code was resetting sequentially cmpl[].count at the exact index that > > later call to alloc_completion uses. > > While this code seems correct, GCC 15 does not understand this (probably > > when applying some optimisations). > > > > Instead, reset cmpl[].count all at once in acl_set_flow, and cleanup the > > various vectorized implementations accordingly. > > > > Bugzilla ID: 1678 > > Cc: sta...@dpdk.org > > > > Signed-off-by: David Marchand <david.march...@redhat.com> > Acked-by: Bruce Richardson <bruce.richard...@intel.com>
Applied as is, thanks. -- David Marchand