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

    <tr>
        <th>Summary</th>
        <td>
            [DAG] SelectionDAG::computeKnownBits - add ISD::ABDU/ISD::ABDS handling
        </td>
    </tr>

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

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

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

<pre>
    We now have KnownBits::abdu/abds implementations, so we can now add this to computeKnownBits.

The actual addition of the code is trivial, a little more work will be adding suitable tests - I'd recommend using aarch64 as it has dedicated ABD vector intrinsics:

```ll
declare <8 x i16> @llvm.aarch64.neon.uabd.v8i16(<8 x i16>, <8 x i16>)
declare <8 x i16> @llvm.aarch64.neon.sabd.v8i16(<8 x i16>, <8 x i16>)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycUk-Pmz4Q_TTmMgoC24TkwIEsP35a7a1p1bOxJ-DW2JE9JO23ryDVdndvrWTZ8sx7b_7oqZTs6BEbVp1Y1WVqoSnE5tPL2c7BZ0MwP5uvCD7cYVI3hBcf7v5kKTHRMtGqwSyM92owCex8dTijJ0U2-MT4E6QAdwSt_CagjAGabAIKoMN8XQhf5XJWdKxoH_fnCUFpWpRbOXaVg3ABmhB0MAirRLQ3q9xaRIGzRA5hDhHhHuJ3uFvnYMCN7UdIiyU1OATCRAl28Mx4bSCiDvOM3sCSVphSUU97CSqBJZhUAoPGakVooD11cENNIYL1FK1PVm87eNM22xeP49wjYFA7FRGYeDrAD7Dlnon_gMnCuduc_y6Xeww-X9Rg8tthhfDDO_w64ofA8a_l0z_Iv46TmUaYoziqDJuyLgsua1nX2dRcZHkpxVHX3BRa74taV9IIuT8IUYvigplteMFlIUpecilFneNxqIZSaSULeRFomCxwVtblW8shjplNacHmII9FlTk1oEubNTkfQzBwsTERbBjGOeNPjPOVykR7Rod6tUrX_r_mqi6LzZrbDcuY1q3YROlPIbLkNtuv-KqDd_zN3B89CrvNws_n7pFvT90Xxvu3_zNMyhtn_Zgt0TUT0XVzCe8Z70dL0zLkOsyM91vXj2d3jeEbamK83yZLjPfbAn4FAAD__wOVHVE">