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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] Add additional `min` and `max` overloads to enable compiling DML shaders
        </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>
    Currently clang fails to resolve cases where mixed vector and scalar types are used as arguments to 'min' and 'max'.
Cases such as:
```
float4 min(float4 p0, int p1) { return min(p0, (float4) p1); }
```
```
float4 min(float4 p0, int4 p1) { return min(p0, (float4)p1); }
```
and
```
float min(float p0, int p1) { return min(p0, (float)p1); }
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkt-K2zwQxZ9mfDNskOT_F77IJoTvIt9Vn2BsTWwVWTKSnN28fbE3tKWUZQsGa9A5c2bEj2I0o2PuoHyF8pzRmiYfuriQtVnv9aM7rSGwS_aBgyU34o2MjZg8Bo7e3hkHihzxbeLAOJt31njnIfmA5DTGgSwFTI-FI1JgXCNrpO08rjO7tLcCVc_Ggap3z1bRO6j6AOJ42rvHdZiQIuRHEEeoxPMTx5v1lArc3c2zWASoExqXcJGgWoT6FQOnNbin7kPw07BpdiXkrwj1-Y-IL8cVX8_7JI6c_lvo75n_uuHngZnuct3mLWXcybqQTVOKXGVTN-S1vA1l3RRtW1R9y6Uu-7Zpiopvba9EZjolVClymcuqrKU6NFIWbVOpmxh6WbUtFIJnMvZg7X0--DBmJsaVO5lLWYvMUs827ugp5fgN91tQaiMxdJvppV_HCIWwJqb4q00yye7M_nf9doXyjEetkbQ2yXhHFqES20NU4gOoSmxAVQL9nYP1pHfq2FFvGQc_L8YaN-L5_yvGiTSHmK3BdlNKy86cuoC6jCZNa38Y_Azqsk3y_L0swX_nIYG67PNHUJfngvdO_QgAAP__4igBrQ">