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

    <tr>
        <th>Summary</th>
        <td>
            [Support] Add KnownBits::computeForSubBorrow
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            new issue,
            llvm:support
      </td>
    </tr>

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

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

<pre>
    Add the sibling to KnownBits::computeForAddCarry:

- [ ] Actual KnownBits implementation is a wrapper to the internal computeForAddCarry, similar to KnownBits::computeForAddCarry, with minor bit twiddling/swapping.
- [ ] Add a SubBorrowExhaustive unit test to KnownBitsTest.cpp
- [ ] Hook up the USUBO/SSUBO/USUBO_CARRY/SSUBO_CARRY/SUBC cases in SelectionDAG::computeKnownBits to make use of it (similar to the ADD variants already do), with suitable testing.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMU02PmzwQ_jXmMtqImI-EAweSvLyV9lBp0z30VBk8SaZrbGSPl-6_r6DpprttpV6w_Gh4vhhUCHS2iLUodqI4JCryxfn64f5Ig7NJ5_RL3WgNfEEI1BmyZ2AH99ZNdkccRNaIrOndMEbG1vlG673y_mXG04NIr887EMUORHGApueozI0AaBgNDmhZMTkLFEDB5NU4op-VZmGyjN4qA3_QkXsINJBR_t98yT1MxBcYyDoPHTHwRFrPwYRsw6TGkex59ZttrUHBMXY7572b_vt2UTEwPSNEO3Ng4Df6nzDwqh_H9zwfnHuCOC6xHo-Pu49Ctsfrudy_7JuHh88_0dvtcbeHXgUMQBaOaLCf6zo0_79JequVHQzqCSEGBHcCYhBy-0tTs4HmcIBn5UlZDqCMR6VfQDshq9eaQiRWncEl4VxMoutMV1mlEqzXZZVneVGVZXKpETt12la9Ljd60xd9mmWZzjFTZbHJO7VNqJapzNJqna7XWSXL1Ult1luZbzYyl6osU5GnOCgyK2Oeh5Xz54RCiFiXxbbKEqM6NGHZUynPzmk4kQ8My4yQUsi9kNLi9A6ZyUTWhDiOzvMMF4fE1zN818VzEHlqKHC4qTKxWX6I4_Wd6_f_63K9rkUSvakvzOMyIlsh2zPxJXar3g1CtouXH8fd6N1X7FnIdvEbhGyXoN8DAAD__1KvK5s">