<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/100968>100968</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[alias] No alias between the objects from new allocation on stack and argument
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vfdff
</td>
</tr>
</table>
<pre>
test: https://gcc.godbolt.org/z/4dPsd6zfq
```
void foo (float dest[N], unsigned int index[N], float src[Length], int n)
{
float buf[Length];
memcpy(buf, src, sizeof(buf));
// #pragma clang loop vectorize(assume_safety)
for (int j = 0; j < n; j++) {
dest[j] = buf[index[j]];
}
}
```
* This issue is first found on [PR100689](https://github.com/llvm/llvm-project/issues/100689#issuecomment-2254134933) , gcc can vectorize it without `#pragma clang loop vectorize(assume_safety)`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk02P8yYQxz_N-DJ6IjLYsX3wIS_KqVqtqt4rDNhmiyE1ONvNp68gSXe76qV6JCTGMDPM_zceEYIZndYdVAeoToVY4-SX7jqoYSh6rz66qEMEvscpxksAvgc6A51HKTejV723ceOXEeh8AzqX6jWo3W34E9gJ2B527LHy59UbhYP3CNQM1ouIKuWuDi9QnYCOuLpcjELjIhqn9F9fLu8RYZFQHX7RbozT4yI5O6D28WZ9uBuI-Ijp1-FfMfyLx6xnefkAapITHXP-tJmb9sPzuE3ra9SdAQLxyyLGWaC0wo1ovb_gVcvoF3PTQI0IYZ3170EMOn78U2KuzC8JQ6r9DYGfkAE_ZPOILptAh7xa_JT04PUG1SkH3ZU9SaXj7_qgPj25nP6zKUB7_G0yAU0Iq0YTcDBLiDj41Sn0DqE6vP66ZWzXtBl48-1HMHFa-430M9DZ2utz-3FZ_JuWEeicMweg8yML8Xwi_TxrF38QVeWWly3nWSwdcZQSpXCfKNFEfDdx8mvEVPn_5r5jm0J1XLW8FYXutjURUUU1FVPX1LJpeLntxVByJoXc1VoNrdYl46LldWE6YlSymlrGq5JvN5XixNtScdFUYqtKKJmehbGbJDyNQ5EFdlvG2l1TWNFrG_KEETn9fkcNRGngli7T6tcxQMmsCTF8pokm2jyawhoRUtdfPGYbex3ftXYYJ42-T6QDDoufMT0grPVSRONd6mCIQv6BwikUy7gm5sW62O6n-ph0XTv6OwAA__8KRkdk">