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

    <tr>
        <th>Summary</th>
        <td>
            remove signed `reversebits` apis
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            HLSL
      </td>
    </tr>

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

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

<pre>
    reversebits docs only support  unsigned inputs and outputs: https://learn.microsoft.com/en-us/windows/win32/direct3dhlsl/reversebits

The following needs to be removed: 
1. https://github.com/llvm/llvm-project/blob/main/clang/lib/Headers/hlsl/hlsl_intrinsics.h#L1150C1-L1161C32
2. https://github.com/llvm/llvm-project/blob/main/clang/lib/Headers/hlsl/hlsl_intrinsics.h#L1177C1-L1184C24
3. https://github.com/llvm/llvm-project/blob/main/clang/lib/Headers/hlsl/hlsl_intrinsics.h#L1195C1-L1202C32

Finally Add sema checks on the `__builtin_elementwise_bitreverse` builtin
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEk7GO2zAMhp9GXoQzJEq248HD9Q7GDdnaPZAtJmYrS4EkX5A-feHYbQ_dOt1CEgRBfCD_36REF4_YseoLAzib-DN4xwBY9VqYJU8hdnuzGIK9dxHfMSYcKCduw5h48O7O03K9hpg5X_xjn-Xkr0tO3HjLw5LXmqlnPuV8XQsGPYPeoYm-nGmMIYVzLscwM-jRPy2JQX8jb8NtrxQw6C1FHLOyk0uOQf8BhYlXJp63-G1Cfg7OhRv5C_eINvEc-IA84hze0a4g26gs_yG6UJ6WYQdx7v13errG8B3HzKAfXBgY9LMhz6AfnfGXdYjW5hsai3FF3hHXdCKfI_lEYyonBuooZSVe5NNRylq-KNhQ4JNQmmZDOegX0BuK-iSUtnqggIA_V9liT944d-fP1vKEs-HjhOOPVXo8T8hZLU6nYSGXyZ_Q4Yw-3yjhaaC8a4TVgu8The2UbVVrCuxkI6U-SNWoYupMq3ULWldWN0KOagC0RjZtPTa1GgQW1IEALRTUsoVWqRIrq217bqrx0BihW6YFzoZcuR6nDPFSUEoLdoe6kW3hzIAu7UZ7O3497i6L3eOWw3JJTAtHKae_CzJlh90mXL5bi9Xio_Rrwc2VUrFE1_333x6A62sejL8CAAD__3XwT7M">