Following recent changes to the test-meson-build.sh script[1] to use more
build-types warnings are seen in the hash library GFNI code about values
possibly being uninitialized.

In function ‘_mm512_mask_permutexvar_epi8’,
    inlined from ‘__rte_thash_gfni’ at ../lib/hash/rte_thash_x86_gfni.h:150:6:
/usr/lib/gcc/x86_64-linux-gnu/15/include/avx512vbmiintrin.h:97:20: error: 
‘tuple_bytes_2’ may be used uninitialized [-Werror=maybe-uninitialized]

These all appear to be a false positive, but fix these by explicitly
zero-initializing the offending values.

[1] 177acaf5cf75 ("devtools: test different build types")

Fixes: 4fd8c4cb0de1 ("hash: add new Toeplitz hash implementation")
Cc: [email protected]

Signed-off-by: Bruce Richardson <[email protected]>
---
 lib/hash/rte_thash_x86_gfni.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/hash/rte_thash_x86_gfni.h b/lib/hash/rte_thash_x86_gfni.h
index 99226b7592..69973503fd 100644
--- a/lib/hash/rte_thash_x86_gfni.h
+++ b/lib/hash/rte_thash_x86_gfni.h
@@ -89,9 +89,9 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
        const __m512i shift_8 = _mm512_set1_epi8(8);
        __m512i xor_acc = _mm512_setzero_si512();
        __m512i perm_bytes = _mm512_setzero_si512();
-       __m512i vals, matrixes, tuple_bytes_2;
+       __m512i vals, matrixes, tuple_bytes_2 = _mm512_setzero_si512();
        __m512i tuple_bytes = _mm512_setzero_si512();
-       __mmask64 load_mask, permute_mask_2;
+       __mmask64 load_mask, permute_mask_2 = 0;
        __mmask64 permute_mask = 0;
        int chunk_len = 0, i = 0;
        uint8_t mtrx_msk;
-- 
2.51.0

Reply via email to