<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/148051>148051</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[HLSL][SPIRV] __builtin_hlsl_elementwise_isinf should generate OpIsInf
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
spall
</td>
</tr>
</table>
<pre>
'__builtin_hlsl_elementwise_isinf' currently always generates the 'llvm.dx.isinf' intrinsic (https://github.com/llvm/llvm-project/blob/00dd6660c2bfdb024159aa9a0a69a29cdffe1a64/clang/lib/CodeGen/CGHLSLBuiltins.cpp#L551)
This makes its way to the SPIRV Backend and produces this crash:
https://godbolt.org/z/Me1r6Es7x
In the case of spirv we need to generate a spirv intrinsic instead.
SPIRV Op: OpIsInf
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkkGPmz4QxT-NuVh_ZAYM4cAh-W_ZRtpqq27Va2TwENx1bOQxm00_fQVJG6mXqidbGs28-b15isgcHWLD5I7Jh0TNcfShoUlZm3ReXxoG1eHQzcZG4w6jJXtAiyd08WwID4aMGxhUvJ9DQBfthSt7VhfiR3QYVETicUTOoLL27ZTq9_R3i3ExGEem5ww2Y4wTsXzLoGXQHk0c5y7t_YlBuzTenv-m4L9jHxm0nfUdg1YIrcuyFD10g-4EFJmslaqVUGWtoO71MGCmyoJB21vljssgszT-7zU-olt-jx-fXp52V0RK-2likD9JmTGomdgysf06GuIn9YrETSR-Vhce_cr18nn_5Rvfqf4VnebKaT4Fr-d-xTbE-6BoXLDE9g9CrztvY-rDstIPBu0nzEL5gar3q-berQK9IuR-4DSZ8MbPyB2iXtR_-cvVrXa30ziKqHTKORPb64bPE8u3_Hna094NV4FEN7mu81ol2GSVhKza5JlIxgbycqNUXlT1RnY6R6GLSquhloVEzCQkpgEBUlSZAJFlUqR5X4muL7tBSD1I0bFC4EkZm6439-GYGKIZm6zYCJklVnVoaY0cgMMzX6sMYElgaNZDd_ORWCGsoUj3MdFEu2Z1uRiTD0zuVj4mH_jfUspp9LPVd-NubiRzsM0_x29dmRi0N6a3Bn4GAAD__yW7EiY">