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