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

    <tr>
        <th>Summary</th>
        <td>
            [ADT] Add APIntOps::mulhs / APIntOps::mulhu
        </td>
    </tr>

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

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

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

<pre>
    - [ ] Move implementations from SelectionDAG.cpp FoldValue into APInt.h APIntOps
https://github.com/llvm/llvm-project/blob/deff460b46dfcc8d6d5917a2b78c0d52edbe4afb/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#L6012-L6016
https://github.com/llvm/llvm-project/blob/deff460b46dfcc8d6d5917a2b78c0d52edbe4afb/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp#L6018-L6022

- [ ] Add APIntTest unit test coverage
- [ ] Update DivisionByConstantTest.cpp
- [ ] Update KnownBitsTest.cpp to use APIntOps::mulhs/u in exhaustive tests
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUU89vnTAM_mvCJSoKBsLjwIFXRDV106a12z0hBjKFBJHkbf3vJ3iq-kO97LiLHVt2_OX7YuG9nixiQ8ozKbtExDC7rfl-_6AXZxPp1FNzQ0l5pqTs6Bd3QaqX1eCCNoignfV03NxCH9DgsMdde5cO60p7Z9RPYSJSbYOj7bdPNqTz1X9dPWEdYe0cwupJ3hLoCfSTDnOU6eAWAr0xl2d3s27uFw6BQC-NkwR6heNYcCYLrsZhOCmuyjqrBMjqNDBVAiqJhRjlq3v0Htw6hXdoCfSv8b4Ld_gE8s-cZXCzW_5_gD3tYAGuYK_2RblWqSv3j-gDjVYHGvbT4C64iQnf1_9YlQhIO33RXjt7frp11gdx7T-Gftxwb91ve9bBP9fR4Gj0-CJ83pK8XaKZPYE-Um0p_plF9EFf8MDkE9Xkqs5rkWCTVayuCl6XVTI3sq45cDaUasxQyYqVKGSRq5phlrExS3QDDAqWM55VBeQ8rVQ51pJBPUKueKVIwXAR2qQ706nbpkR7H7E5FcCqxAiJxh-rADA5p-ioNx_oUUMACNwSgEOkvPVxXd0W9nTZJVtziC_j5EnBjPbBv8wIOphjw9ru8Y0Yb_mgBPoP8jGJm2n--fcdoHeOj7f9DQAA__8OxDtU">