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

    <tr>
        <th>Summary</th>
        <td>
            SME streaming status overloading
        </td>
    </tr>

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

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

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

<pre>
    We should have an overloading mechanism that dispatches to normal vs streaming implementations of a function at runtime based on the current streaming mode. As an optimization, we could set up dispatch to always call the matching implementation in a normal/streaming caller. In streaming-compatible callers, we'd have to inspect the streaming mode via the compiler-rt builtin.

Use case for this could be to provide a `memcpy` implementation that keeps the streaming mode active or inactive, and uses the corresponding instructions without a streaming mode change.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk82O2zgQhJ-GujQs0LRljQ86zO6sgT3saRHk3KJaFif8EdhNGZOnDyQbmckkF_2g0VVfiSVkdtdI1KnmL9W8VFhkSrl7zYl8Grnq0_DWfSXgKRU_wIQLAUZIC2WfcHDxCoHshNFxAJlQYHA8o9iJGCRBTDmgh4WBJROGdcGF2VOgKCguRYY0AsJYol1fAQVyieICQY9MA6QIMhHYkjNF-aAT0kA1PPMGNIsL7vumqMzfcCOwGzGTQJl_Uq1M6G_4xmDR-005rIPfwcBFwEcAZS7vvusi5Rr-je8wO5vCjOJ6T4853zGUaR-fTRK4yDNZ2Vx_zQGLw3vMFGbnKe-yQF-cFxdrpV-Ufr5fv_BqwARjyiCT40fOfjOYc1rcQICgTjpQsPObOunPwbZz-kY0859I0IpbCFIGF-_PaxKMAxQmfkDmTDynuBXARZZc7P0wb06mVATws-xakivV1dAdhvPhjBV1-9bs21Orm6aautN-fLIjPe3t2ZgzjaZpDv1Iej-0Q3M695XrjDZH3ZqD0Yf20NR7GofWWjwee9Nif1ZHTQGdr71fQp3ytXLMhbq91kbrymNPnreiGxPpBttUGbP2Pnfr0q4vV1ZH7R0Lv8uIE0_d___98yETC0rhjz9CVbLvJpGZ1eFZmYsyl6uTqfS1TUGZyyr3uO3mnF7JijKXDYKVuTwol878CAAA___hu0EX">