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

    <tr>
        <th>Summary</th>
        <td>
            Instruction pmaxsw not generated
        </td>
    </tr>

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

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

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

<pre>
    The code generated by 'x86-64 clang 13.0.1' in /O3 will generate pmaxsw instructions. With 'x86-64 clang 14.0.0' and 'x86-64 clang (trunk)', the pmaxw is not generated, and the code size is slightly bigger.

```
short vecreduce_smax_v2i16(int n, short* v)
{
  short p = 0;
  for (int i = 0; i < n; ++i)
    p = p < v[i] ? v[i] : p;
  return p;
}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtkU2PnDAMhn9NuFiLQviaOXCY3dFIPfVSqcdVSAykzQSUhNmd_voa5rPaIgvsvOaxHbejPjc_BgQ1aoQeHXoZUUN7Bibqz031UhWgrHQ9ZHnK04xOwTgSD99z-DDW3n-C6Sg_wwepIfpZRTO6kMJPE4evqIJQfEFJp7-oTGwI4H4zsSWJiTeIw4VO8ABujI9GF3VhxNsIwfzBJStY0w_RnqE1fY8-ZXzP-O76rvjV1jAMo49wQuVRzwrfA1V6PwmTVdSJcRHcUmXNYmIHp6WvC6d-vThwUWEClu-Bs_x-3o0erhRzF1f3jbDkMvFKZu5MoOeCmdakEytJLfcUHJ6DHUxPZTzG2bunI1bv_ztroptcb_OtTKKJFptvj2Xd9vfP_Sazt80Q4xSoJC2drKeNzm2qxiMF1p5un5fJj79Q0R0dTAgzBnLKkmd5MjRdWWaykhpV16m8q7tMyY0uJWKpZVsViZUt2tDQfEwIh8uiCUE-TZuYRnAheCGyLBcVr9M6x1Znm7qsNm2RqYoVHI_S2HTpIx19n_hmbamd-0CiNSGGhyhDML1DXMsRX86R1tccpTfSOTyGZK3erN3_BQRP7-k">