Disable MSan in quantized addition microkernels
Quantized VADD[C] microkernels need to read up to XNN_EXTRA_BYTES beyond end of
array for low-level efficiency, which may result in spurious MSan failures when
the extra bytes are uninitialized. This doesn't affect correctness because
calculations results involving out-of-bounds elements are discarded.
PiperOrigin-RevId: 386307231
diff --git a/src/qs8-vaddc/avx2-mul32-ld64.c.in b/src/qs8-vaddc/avx2-mul32-ld64.c.in
index 20499f9..5e70262 100644
--- a/src/qs8-vaddc/avx2-mul32-ld64.c.in
+++ b/src/qs8-vaddc/avx2-mul32-ld64.c.in
@@ -25,7 +25,7 @@
const ${XINT8_T}* input_a,
const ${XINT8_T}* input_b,
${XINT8_T}* output,
- const union xnn_${DATATYPE.lower()}_add_minmax_params params[restrict XNN_MIN_ELEMENTS(1)]) XNN_DISABLE_TSAN
+ const union xnn_${DATATYPE.lower()}_add_minmax_params params[restrict XNN_MIN_ELEMENTS(1)]) XNN_DISABLE_TSAN XNN_DISABLE_MSAN
{
const __m256i va_multiplier = _mm256_load_si256((const __m256i*) params->avx2.a_multiplier);
const __m256i vrounding = _mm256_load_si256((const __m256i*) params->avx2.rounding);