26/04/2021 15:35, Konstantin Ananyev: > gcc 11 with '-O2' complains about some variables being used without > being initialized: > > In file included from ../lib/librte_acl/acl_run_avx512x8.h:201, > from ../lib/librte_acl/acl_run_avx512.c:110: > In function ‘start_flow_avx512x8’, > inlined from ‘search_trie_avx512x8.constprop’ at > ../lib/librte_acl/acl_run_avx512_common.h:317:2: > ../lib/librte_acl/acl_run_avx512_common.h:210:13: warning: ‘pdata’ is used > uninitialized [-Wuninitialized] > In file included from ../lib/librte_acl/acl_run_avx512x8.h:201, > from ../lib/librte_acl/acl_run_avx512.c:110: > ../lib/librte_acl/acl_run_avx512_common.h: In function > ‘search_trie_avx512x8.constprop’: > ../lib/librte_acl/acl_run_avx512_common.h:314:32: note: ‘pdata’ declared here > In file included from ../lib/librte_acl/acl_run_avx512x8.h:201, > from ../lib/librte_acl/acl_run_avx512.c:110: > .... > > Indeed, these variables are not explicitly initialized, > but this is done intentionally. > We rely on constant mask value that we pass to start_flow*() functions > as a parameter to mask out uninitialized values. > Note that '-O3' doesn't produce this warning. > Anyway, to support clean build with gcc-11 this patch adds > explicit initialization for these variables. > I checked the output binary: with '-O3' both clang and gcc 10/11 > generate no extra code for it. > Also performance test didn't reveal any regressions. > > Bugzilla ID: 673 > Fixes: b64c2295f7fc ("acl: add 256-bit AVX512 classify method") > Fixes: 45da22e42ec3 ("acl: add 512-bit AVX512 classify method") > Cc: sta...@dpdk.org > > Reported-by: Ali Alnubani <alia...@nvidia.com> > Signed-off-by: Konstantin Ananyev <konstantin.anan...@intel.com>
Applied, thanks