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

    <tr>
        <th>Summary</th>
        <td>
            llvm/lib/Target/X86/X86ISelLowering.cpp:42393: Shoddy coding
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            code-quality
      </td>
    </tr>

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

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

<pre>
    gcc says:

llvm/lib/Target/X86/X86ISelLowering.cpp:42393:44: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]

Source code is

 M = (M < 0 ? M : M & Mask.size() - 1);

Impressive. 6 values and 5 operators in an expression and no ().
 
Suggest add some () to improve clarity.
 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycUkGPmzwQ_TXDZRQEYyD4wCG7-SKt9O1pK7VXgyfEXWJT22Sb_vrKkGp7roRgNPN482bmqRDMaJk7qJ-gPmZqiRfnOz30oqyy3ul7Nw4DBnUPIA5QpGeableg02R6oNMX5UeOQKdvbbO9X954-t99sDd2zId5BnGoSEiRvhWIA34ob40dUxiWceQQcVaebbxw4IDKu8VqhP8I2gJku_sTSTQW3cxeWY3u_IkAaj4xUD_tvv7FB_Vxk_3mFj8wDk4zmrDl8BVBHBGoTcEzFgjitCbXEjX4qsJ7HswvBmqBJO6wBJIgnjaCl-vsOQRz4xwbvKlpSRNYjfWmNDofkmxlkX9uUGdXgHW4UeZJR9L32IXSGoO78qOM0aG5zt7dGIdJeRPv6x-Z7oSWQqqMu3IvGqpEWcvs0olS6HZ_7qVs6qIW-0axErrqzzQoUVbnzHRUUF2Uxb6QVV3LXPfnfmhEr6qhVXvZQlXwVZkpT5fOnR8zE8LCXUmlLNpsUj1PYXUMUa-Gd7YaxGE1AAE9A1Fa8u7HoiYT7ylZHzPfJbZdv4wBqmIyIYZP_mjixN2_GwvfLk7rezqusWO2-Km7xDivnqUT0Gk08bL0-eDWBo8-Sc_s3XceUp91xgB0eox56-h3AAAA__8YefBI">