<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/87336>87336</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Loop Vectorizer] Loop not vectorized when accessing the same pointer with different offsets.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          komalon1
      </td>
    </tr>
</table>

<pre>
    See reproducer in https://godbolt.org/z/v7fqorb1h.
`a2 = a1 + 256;`
`a2` has an interleaved store access, and `a1 `has a simple linear access.
There are no actual dependencies between them when VF is 4, and it looks safe for the loop to be vectorized.
BTW, changing `a2[2*i]` to `a1[i]`  makes vectorization safe.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxcUk1v4zgM_TX0haghyx9JDj40G_i0ty26Z1qiY21lySvJCaa_fiAnnSnmYgPkI5_e46MYzdUx99Ceob0UtKXZh_7DL2S9q4rR6x_9P8wYeA1eb4oDGodzSmuE-hXkAHK4ej16m0ofriCHT5DD7TD978NYzSWIC4hX6ARJhPqCVCHIM8q2g_oMnfjWh07gTBHJoXGJg2W6scaYfGAkpThGkH8hOY0ZX-XvjsdoltUyWuOYwhP6ZH6bOU8HRueRVNrIouaVnWanDEccOd2ZHaaZF7zP7PB9QBOx-eIyCa33HxEjTYyTDxmaSysmjyPjjVXywXyyfnKe3_7Nw2omdzXuig917VmCfDXQXrLQ5B8ioD1_lXChD46_1lEy3u2kZaH7Wp_qExXcV4dKirY7NqKY-1odOl2pU9Wormqno9Yt86muGuaGaqkK00shG9EIWVVSNKI80tSM43TUVFPb1gdoBC9kbGntbckXLEyMG_fHQ113haWRbdzDIaXjO-5NkDJnJfR55mXcrhEaYU1M8feWZJLdU_V3Nur9y6IA7QX3kvPpm3MP5x-Xy5ZliyMtjKvfs4B3k2bUZpo4sEvopylyimWxBdv_kUaT5m0slV9ADvk9z9_LGvx_rBLIYVcRQQ67yp8BAAD__wJL93o">