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