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

    <tr>
        <th>Summary</th>
        <td>
            Non-temporal hint dropped on a non-temporal load
        </td>
    </tr>

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

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

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

<pre>
    The following code:
```cpp
void copy_non_temporal(const __m128i* src, __m128i* dst)
{
    _mm_stream_si128(dst, _mm_stream_load_si128(src));
}
```
Generates a `vmovntps` for the store, but a `vmovaps` for the load, dropping the non-temporal hint.
Using godbolt, I've noticed that this issue doesn't exit in clang 4.0.1, but starts happening with clang 5
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxdUstupDAQ_BpzsYKMeR84zGSUKJc97Z6RwR3wrrGRbWY2f79tyGweqIXb3UV1VYvByrfu5wz01Wptb8pMdLQSSH4i7ELYiVTsiHFdj8rVKomY9a031vQBltU6oQlvRmt8oH2_ZLxRhJ-odyPhj58r0gfC23fm-nwkFJ9-WXofHAg8FKKRbsc-fu5oK-T_9k7exsjPd8LLN83H9RkMOBHAU0GxeF3s1YTVY4qmHQ1o3gfrIE4btvCBEl9BcXzESGfXNS4qFnEHD_cd0FmZkB5Df_mImKwcrN59vBBeXyM-qBEkfisCvpSnyvsNqLTgDUIChb8qUGXoqAUyFClLs7syH4QLns5iXcFE_psK8zuwTKDLqrKpi7ZmdSK7XLZ5K5Kggobux3eZhwsUYg0a_uIi-kw2p7s5xDXhn8CfMCactQ3paBe8aH29Hw-rs79hRJNPuxWPSVnVLE_mriqrQgoQVV7lWcE4K5uRC1bBkLdM1DzRYgDtO1KeCecGbsc2MCflJVEdZ5yzmpdZVjS8SvOBi1a8DlXTsLLiBSkYLELpNOpIrZsS1-2Shm3y2NTKB__RFN6ryQDs45BfbGG2rvujnF1Esk_uduX_AJZF-Tg">