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

    <tr>
        <th>Summary</th>
        <td>
            [HLSL] `max` and `min` overloads with mixed scalar and vector arguments
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          llvm-beanz
      </td>
    </tr>
</table>

<pre>
    Presently Clang fails to resolve `max` and `min` function calls when the arguments are mixes of scalar and vector type. This prevents common code patterns such as:

```hlsl
export int4 call(int4 I, int Min) {
    return min(I, Min); // calls min(int4, int4)
}
```

These patterns are particularly useful with literal values.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0kt-K2zwQxZ9Gvhk2yON_8YUvsruE74MtFLovoMiTWEWWjEbyJn36YiVt96IFgT320eEc5qeYzcURDaJ5Fs1roVKcfBisXeenEyn3ozj58TZ8DcTkor3Bi1XuAmdlLEP0EIi9XQlEK2d1Fa0E5cY8GbdN5-R0NN6BVtYyfEzkIE4EKlzSTC4yqEAwmysx-DOwVlaF7LGSjj5AvC20g_fJMCyB1nxF-3neLP1IsKgYKTgGTnoCxaI6CJlPK-9nsmyFPNB18SGCcbHOYQTu8_v_Al-2r_DFOIE9iO5ZyAMAQKCYgoOtCe6z7C4R1TMIPAo8PlrdFZvbw6veVPIgutfPQe653ifiT7G3-osK0ehkVbA3SEznZOHDxAmsiRSUhVXZRLwrxqEa-6pXBQ1lV8uyK9sWi2mozrrFaq86Oo19o-qyb_qqasumq_pGN3VhBpTYSMQSS1lK3GmqGmp1dxrr9qxRi1rSrIzdbZvf-XApDHOiocQ9VmVh1YksZ0gQHX1A_isQN2Z-4ZIuLGppDUf-YxNNtJmu_96-vYnm9Z-k-JWC9Wrke_UNifEvPPwGp0jBDlOMS155XsfFxCmddtrPAo9bgsfjaQn-O-ko8Jhzs8Djo9g64M8AAAD__wqB9og">