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