<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">