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

    <tr>
        <th>Summary</th>
        <td>
            LLVM CodeGen doesn't support optimization for exact unsigned division even though it supports exact signed division
        </td>
    </tr>

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

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

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

<pre>
    Have simpler lowering for exact udivs in both SelectionDAG and GlobalISel.

The algorithm is the same between unsigned exact divs and signed divs save for arithmetic vs logical shift for even divisors, according to Hacker's Delight, 2nd Edition, page 242.

_Originally posted by @AtariDreams in https://github.com/llvm/llvm-project/pull/87161_
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUk9vnD4Q_TTmMvqtzMAuy4HD_rLdpFKqHlL1GhmYhWmNjTyGNP30lUnaRL31AhrPv_fePCPCgyNq1P5_tT9nZomjD80pmsDnQGaSrPX9c3NnVgLhabYUwPonCuwGuPoA9MN0EZaeVwF20Po4wgNZ6iJ7dz7dgnE93FrfGvvxgexO6bPSp5fvl5HA2MEHjuMELBBHAjETQUvxicjB4jZ8_euabUsa-Pq6xZKwJShmm0ORO1gFrB-4MxZk5Gt8gbqSSy0sPojCGzBd50OfmEQPd6b7TkFhJXAmy8MYUwm6Hj70nMikcDYDAZa42zicHj8HHtgZa59h9hKph_YZVKnfCZhUGWOcRRUnhReFl4HjuLS7zk8KL9auv3__zcF_oy4qvMyLtQovxyo_5I9Z3xR9XdQmoyavMNcHvT_U2dgU5d5cj3VXXfdVVef19VBVHeqiyq99fjjqjBvUWOoq3-cHxLLelXVZVLXuSOOxRCpUqWkybHdp_86HIWORhZr6WOMxs6YlK5s3EB09wZZUiMkqodkwt8sgqtSWJcrblMjRUnN___UT3PiebpPwnsQprCLIMs8-RPBz5Il_miTuey-5t-uypNx2uDj6ZRiB__TLa_1f1dkSbPPPgm_MROHlhfna4K8AAAD__2gGC0I">