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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] `lerp` overloads with mixed scalar and vector operands
        </td>
    </tr>

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

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

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

<pre>
    Clang currently fails to resolve `lerp` overloads where the weight parameter is a scalar. We should support overloads where `x` and `y` are vectors but the weight is scalar:
```hlsl
export float3 call(float3 x, float3 y, float weight) {
    return lerp(x, y, weight); // calls lerp(float3, float3, float3)
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0Us2K4zwQfJr2pZmgSP49-JBMCN9hbt9hz7LVsbUollHLmeTtFyuemcCyYHAJdVd1q0oz22EiaqE4QnHK9BJHH9rODxOFrPPm0b47PQ3YLyHQFN0DL9o6xugxEHt3I4RSOAozlAL9jYLz2jB-jhQI40j4SXYYI8466CtFCmgZNXKvnQ47_EXIo1-cQV7m2Yf4FweU4r5y68ms-JFwILxRH31g7Jb4qmN54wZ1AHGAUjy_0bEDcaB7Erk4r6PCXjsHst5Od5DvXzePb7wRg2wQqiOIAyJioLiECdPesk6NqeO7FtQRQZ5BnpMIf5U-6X-EXlGzzludXqfOTKtMoxqdUbuv8qLJ96pqsrHNda-EqJuuNmWhil6UVV_mRtVVdam0EZltpZCFyGWzL3JZNLuuNkWX5-YiVX_Zqw5yQVdt3c6523Xnw5BZ5oXavapqWWVOd-Q45ULK_z7-_wAp14SEdq1_65aBIRfOcuQfhmijS1lKDcXpH9mwccSrvZPZrErePv1EP1PQk-FsCa4dY5x5NTK95GDjuHS73l9BnlfN7fc2B_-b-gjynFZgkOdti1sr_wQAAP__X7Tqiw">