<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/145571>145571</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DXIL] IsSpecialFloat for 16-bit types must be emulated
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:DirectX
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
llvm-beanz
</td>
</tr>
</table>
<pre>
Due to a [bug in DXC](https://github.com/microsoft/DirectXShaderCompiler/issues/7496), the `IsSpecialFloat` DXIL operations were never generated for 16-bit types. As a result drivers are not able to handle the operation, so we need to update Clang to emulate the functions using integers.
We are also tracking a change for SM 6.9 to address this issue (https://github.com/microsoft/hlsl-specs/issues/521).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMks9u7SgMxp-GbKwTJeRfWWRxeqJIlWZWXUy3BJyEKQkRhlN1nn5Ebqv26kpXdwVYNp_9-SeJzLIj9qx5ZM2QyRhW53tr79tlQrn_l01Ov_dDRAgOJLDmcYoLmB2GlxtrBsYf1hAOYtWV8ZHxcTFhjVOu3Mb4uBnlHbk5MD4OxqMKL8-r1OhvbjuMRc_4aIgiEuNjV4uWccH4DcKKwNriiZ4PVEba0ToZWFvA8PL0F7gDvQzG7QRv6BF2vKOHBfcURg2z81C2l8kECO8HUg5XAgkeKdoA2ps7egKZKl0AOdlztlXuOt1W_BJIvZCDt6SBOmXFQ8uAcLNyX9Ibt2hTIJXNcVc_2opk9mRSwAU95ay4suL6D56a0pKD4KV6TTkS1Cr3Bc-mn_-GNhen0Vp7JIKwGoLTIfhzp1dL9kIHKvpub8NLxkWe6b7SohIyw77smqITZSXKbO3neXpQlRbIZ9XqStQdL4Qs51q0qIQsMtPzgjdFy-vyoWmrMuflpDtVt7PmHZ9nxeoCN2lsnujJnV-yU7wv66bpyszKCS2doHE-SfWKu2bV9YMLxnni7xO9uBCrC2so0Nd3wQR7kpowYM0APwPyy-JhixRgws8t6Sx62__GxaT0cVwO7_5FFb5b-DHIvef_BwAA__-cZg9P">