<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/100117>100117</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AArch64] Fold the ushll2 + ushll into zip2 + zip1
</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/TsoWzMsdx
```
void zip_noalias (int *b, unsigned short *a, int n)
{
#pragma clang loop vectorize(assume_safety)
for (int i = 0; i< (n & -4); i ++)
{
b[i] = a[i];
}
}
```
* gcc use zip with short latency
```
.L5:
ldr q30, [x4], 16
zip1 v29.8h, v30.8h, v31.8h
zip2 v30.8h, v30.8h, v31.8h
stp q29, q30, [x3], 32
cmp x4, x5
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU0tvozAQ_jXDZdTIHvPKgQNpxGn3ttIeKwMGvHIwiw1N8-tXJrTbVEUWHs_j8-d5SOd0PypVQHKC5BzJxQ92Ltau7bqotu1bAVSiV86DKHHwfnIgSqAKqOqb5tDbtrbGH-zcA1U3oOqXs79vP117BXYGVkLK9rUdV6tbvOnpZbTSaOkQKNejR6CyBnrGZdz4tOgGO29qGdTBZQQ67pjZ6S4gIgKJaZb9RWJj5NijsXbCVTXezvqmgHLp3HJRL052yr99YITQzs7v92sEcUYG4oQaxHNQjwiU4lMcQoIagU7bekd4oBG-GpKThuS8Ycn9AOIz2ez8_oTzt_nZ_1Ri3zS4OBWSha_aD3tGjPRqbN6-DT78SEJxHjiZdt72v4KFREJyusaBFT0jTx9db3riuNLxkA_BvAr2IfEgfXWmsH_2-tbf-elOgI7B9omH2HkIeoRuLveIaxys1-TLW6O2EO1RHGWkCp4Rz2LGGI-GoqOMMdbxWnS8rRuZKFKpaLO8zjnJI0W6IEYxy0hwwVKRH_JUkehSipOukyyXEDN1kdocjFkvoacj7dyiCs4Y51lkZK2M20aFaFSvuFmBKEzOXISgp3rpHcTMaOfdfxivvdlmrCznZkhDBbCypkU_KFzcYAyF9rqLodvtPcFBF8oSLbMpvkyf9sNSHxp7AarCRfv2NM32j2o8ULXRc0DVzn8t6F8AAAD__wdEEqY">