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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] add sema type checks for builtins to prevent invalid intrinsic generation in code gen.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            HLSL
      </td>
    </tr>

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

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

<pre>
    Similar to what we are doing for lerp:
https://github.com/llvm/llvm-project/blob/main/clang/lib/Sema/SemaChecking.cpp#L5614

do the same for:

1. __builtin_elementwise_cos
2. __builtin_elementwise_sin
3. __builtin_elementwise_log
4. __builtin_elementwise_log2
5. __builtin_elementwise_log10
6. __builtin_elementwise_pow
7. __builtin_elementwise_trunc
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUksGOnDAMQL8mXKIiYhJYDhy2XaEe9rYfMAqJB9yGBCVhR9uvr4Bpe5qVerEV6yWx5adToskj9kx9ZQBXHX8F7xgAUy-F3vIcYn8vFmOwH_0bLeR05Dnw26wzvyHXEbkN5Cd-DZE7jCurn1n1wqrnOec17ScYGAwT5XkbSxMWBoNz73_SlzWGH2gyg2F0YWQwLJo8g8E47acdor34hou-p28zmp_kp9KsK4P6VTVCnj-e0QaeZ-RJL7g39befM4qSXy7jRi6Tv6DDBX2-UcKLCekk4BGRyJ9E_YhwYToJ-QkBJ6I-QUR1Ms0jZg23k2gfETlu3hS2r21Xd7rAXrRC1F2lZFvMPTTN2LW2bayUXffUNqOSqK0GEEKCEAX1UIGsalDiSSjZlnWjrtfaSCkraa7SMFnhosmV-xLLEKeCUtqwf2qUgsLpEV26i_X99e31blXsj52P25SYrBylnP49kCm7Q8bjgnrh2lqecNE8f6zIzb73dHh2HzjtJq4R39FnTv5dO7KcfI7kExk-oceoMwXPyXMTLO6lstii6_9bzmO6xGA4BvwdAAD__8tRD_Q">