<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/72848>72848</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
MSAN reports false positives on interleaved storage on ARM AArch64
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vrabaud
</td>
</tr>
</table>
<pre>
On clang 18, the following test simply reports: "WARNING: MemorySanitizer: use-of-uninitialized-value".
It seems to be the case for different kinds of input. Even displaying the first element of the outputs fails.
```c++
#include <iostream>
#include <arm_neon.h>
TEST(Msan,interlace) {
int16x8x2_t vec2;
vec2.val[0] = vdupq_n_s16(1);
vec2.val[1] = vdupq_n_s16(2);
int16_t dst2[8*2];
vst2q_s16(dst2, vec2);
for(int16_t i: dst2) std::cout << (int)i << ",";
std::cout << std::endl;
uint8x16x3_t vec3;
vec3.val[0] = vdupq_n_u8(3);
vec3.val[1] = vdupq_n_u8(4);
vec3.val[2] = vdupq_n_u8(5);
uint8_t dst3[16*3];
vst3q_u8(dst3, vec3);
for(uint8_t i: dst3) std::cout << (int)i << ",";
std::cout << std::endl;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VM9v4jgU_mteLk-g5JmQcMghhbKaQ7vSdKQ9IhO_gHeNTW0n085fv0pS2rJLryNFoHz-fjx_kS1D0AfLXEF-B_kmkV08Ol_1Xu5lp5K9U6_VnxYbI-0BsxJojfHI2Dpj3E9tDxg5RAz6dDav6PnsfAwgagSiv-rvj98e_xjeHvjk_OuTtDrqX-wHqAs8c-2ss3oApdG_WM16aToGojmkG0jrbxED8ylgdLjnMbiRYUj3qHTbsmcb8R9tVUDXorbnLs7xvmeLSoezka_jhMO82oeIbPg0KFw7gq6L5y4GbKU24S0Slun0NEB3wzOhJLRtTKcYQay1C9GzPIG4v7Us_Wln2dn58Z3w4_7pB1D5EKQFWmsb2RvZMNAKoXjLQNQ2ZsuX8oV2EXtuCMRlaXib99JAfpdCvkEQG-xVd37e2V3IlkBlBrT64H8WZLcFdC0Ys3cRVYgE-V0JVBPkm8-WIdLzm3hk0Xqa8sqndR6ovLjp4UtP5BWGqEDUIOrGdXEoCsQaJzLQSn8gg_Xw--F6U_oOslXmnXyRdNrG8iVbvoipTXHVpviqza4EKsX_yhRflTnyF1f8T3S6Sc-v7cdJp-rFELEEqsXUPeKn9sXzJB95U_niVvkXv0v54jeWX2z-c4wSVQm1EiuZcJUVaboolkW2So5Vm3NeNEI2LRcybxqWGVErmkYRE_E-0RWlJLKM0iwVpVjNFbcrJWVRpLLdKyVhkfJJajM3pj_NnT8kOoSOq4LKRZkYuWcTxmuNyPJPHBeHneWbxFeDZrbvDgEWqdEhhg-XqKPh6uGpfrxcaNhKExjPLuioew7oLE6HmGXPCkN0Xh54gOvvD1jXvjkuF0nnTXWM8TxciEBboO1Bx2O3nzfuBLQdAt_-Zmfv_uYmAm3HMQPQdtzGvwEAAP__9T2low">