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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR] `tosa.rescale` op validation incorrectly fails on unsigned integer type
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

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

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

<pre>
    See godbolt: https://godbolt.org/z/8z6Ycahnv
According to the TOSA Spec ([here](https://www.mlplatform.org/tosa/tosa_spec.html#_integer_behavior)), unsigned 8 and 16-bit types are allowed in the RESCALE operation. The TOSA dialect docs specify the same as well ([here](https://github.com/llvm/llvm-project/blob/76db259080fa134579f31d76fe9ab462f47eca87/mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td#L2360)).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkkFr4z4QxT_N-CJq7LEs2wcf0qaGQv8Uml7-pyJL41iLbBlJTkg__RInpexpWRCMkNDovXk_GYI5zkQtlI9Q7hO5xtH5NsjpZDSWSe_0pT0QsaPTvbMRih0bY1wCFDvADrC7X6TOHwG7L8Cu_hL_KznOJ8h2O6Wc12Y-suhYHIl9vB127LCQYoA1lI8jeYJyD1j_2fZ8PqeTXayMg_PTvXt0Qd7LZ1hIpWOcLGDxaeZIR_KfPY3yZJwHbLb1xNZ5M6hZzeSsWS4eehNZvCwUmPTEpLXuTJqZeZP3_nx42r0-M7eQl9G4OWUf36q1kZZUZNqpwK7fm-GyPQpyIiYDO5O1f7F1NHFc-1S5CbCz9vRdHhbvfpGKgF1vXQ_YVUL3WDZZnQ0yL3hZNUOR60oM1MieCxx4RUrWFWA3WeMBOzMru2r6OdjfBAN2H7fBvbzf929LSKMGLF6xENltWmmi20I3RSMTavOKc1EVWFTJ2HKpi7rWvMwUDaK6apElb3KpuMhk1iSmxQzLjOccC6zyKi3zgaNQoqFK5JWqgWc0SWPTq9drmIkJYaU2L0rRNImVPdmwMYh4E49XGn27zaZfjwF4Zk2I4adDNNFu3P73-vIO5Z6ByK5kpJ6CkpZAZMwt7CSt0VuUzMzKeU8q2gsbpLGBufkHkDtDGxvJ6m37z8ltngJgd7d1avF3AAAA__9JMxOW">