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

    <tr>
        <th>Summary</th>
        <td>
            [DXIL] implement `reversebits` lowering
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:DirectX
      </td>
    </tr>

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

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

<pre>
    https://godbolt.org/z/so4fxz4xM

Simple change just need to add mapping from `llvm::Intrinsic::bitreverse` to dixil op `30`

like so:
``
call i16 @dx.op.unary.i16(i32 30, i16 %x)
call i32 @dx.op.unary.i32(i32 30, i32 %x)
call i64 @dx.op.unary.i64(i32 30, i64 %x)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxkkkFvozAQhX_NcLGK7LGhcOCQ3Qip0u5pL73aeELcGoxs003z61ckkZpuLiCP3ud58ns6JTfORB1UPwDxoOM5zB4QodoXes3HELvbsDDBfnbHnJcEcgfYA_ZjsCb4XIY4AvZnwD4FdTid1ek38D3w3fX7x02LJzYc9TwSe1tTZjORZTkwbS2b9LK4eWSHGCYGNff-Y9pWyN3LnKObkxuuR-NypA-KiaDmG23dyXkWlo2SHGp-v9W7d2IpbOh1Wn8pBu09c6JmoLg9lWEp11nHz9KJGrBxEpnkgD-vEqxOgO09KPEBlPgd3CSPYK0ewFp9BzfJPXizXfPCdtK2stUFdeJZCMVFJVRx7HSrnwVKklZUppIHkqqRGiUnZaSu6sJ1yFFxiRUK0WBbom0MCkOq1c9cCw6K06SdL7en39IsXEordU1dNVh4bcinW0WMHt5ptiB3exdpyK-3ssRuY5_MOiZQ3LuU09dt2WV_6dj-9eUXVHt2KcREc96Su2VqXE5brj78pejmsVij_79vLh9XUw5hAuwvNbn-npYY3mjIgP3FeALsL97_BQAA__-x3tpd">