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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR] Unexpected inf output from `tosa.rsqrt` on zero input
        </td>
    </tr>

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

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

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

<pre>
    test commit: [9164d20](https://github.com/llvm/llvm-project/commit/9164d206b33d61c93f5fc4628797485f96d654ca)

## Description:
When applying `tosa.rsqrt` to a tensor containing the value 0.0, the resulting value becomes `inf`. 


## Steps to Reproduce:

### Minimal MLIR program (test.mlir):

```
module {
  func.func private @printMemrefF32(tensor<*xf32>)
  func.func @main() -> () {
    %arg0 = "tosa.const"() {values = dense<0.0> : tensor<1xf32>} : () -> tensor<1xf32>
    %3 = tosa.rsqrt %arg0 : (tensor<1xf32>) -> tensor<1xf32>
 %rtn1 = tensor.cast %3 : tensor<1xf32> to tensor<*xf32>
    call @printMemrefF32(%rtn1) : (tensor<*xf32>) -> ()
    return
 }
}
```

### Command:
```
mlir-opt test.mlir  --tosa-to-linalg-pipeline --sparsifier |  \
mlir-runner -e main -entry-point-result=void -shared-libs=/home/workdir/llvm-project/build/lib/libmlir_runner_utils.so
```
### Output:
```
[inf]
```


</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUVF-L47YX_TQ3LxcbWbKc-MEPmWQDP_gNhS2lj4tiXSdqZcmV5Nmdfvoi589kZ4ZCwSjBuj73nKOjq2I0J0fUgXwCuV-pOZ196OJ3IqVXR69fu0QxYe_H0SQQWwT51FZNrTkDuQe-Oac0RRBb4Afgh5NJ5_lY9n4EfrD25fZTTMH_QX0CfrhC8cMVpjkKoZuqb8Ugh75u-GbdruuNHNpGN7LuFfAW2DY_XAAXuKfYBzMl413uy7a_n8mhmib7atwJoWHJR1WG-FdI0DBMHhUmctEH7L1Lyrhcl86EL8rOhKxkwHfLi0BxtilvX7aO1PuRYgY1boCGlXjlcqfza6Ip5iZfaQpezz1dWN0rctGzcWZUFp___7-vOAV_CmpE4JtsbjlaE7LI-2cNuz5sO3o9W0JYPwHbIg6z68u84BTMi0qEULMpGJeeaQw0HARfULNYEDvg2x-D4CC-XEx8BICajco44BvgLRYgvuD1_60ZInCpwokhiD0C54uvvXcxAedvxYtVcSnS5CKB2GVLM6DY4p1MdaOy3i8bj50_Ft0JiAX47UgfSG3xUWz1JvVfQIHLkFx1AV0Kyl7FdOv0Cd98tp85emHYK2s_PYRro8Wjd0x_OpZH66-YgdIc3MJ2vc-BuKwPsfgpXDs_jsrpa34ew2NNKPyU8B4zxKLIVhbJF9Y4ZU_FZCayxhEWRZxUiGYwFBDWO0SQuxtKmJ2jgAVhDg0W5FJ4LSZvXCoulwbE_sUbjUU8q0C6sOYYQeyBH85-JOCH7z78qXPS30-E42yszq_N8bLmjt8uHb_NydhYRv_egLv6X-Y0zemjeJBP-crKT6xb6U7oVrRqRV21lmKzbiXjq3M3kGpkrde1Fk2vSXNRyV4elWabYah0uzIdZ1yytWAVryWrStlvNlXLJPG6VkrXUDMalbFl1lj6cFqZGGfqKlkJzldWHcnGZdpyfrn3PM_d0C2eHOdThJpZE1N8Q0gm2WVC5-kBco-_OfoxUZ9Io3ED-sUBHIIfP04_7_BvCh6Nm-a0moPt_vPEXhRE4IeriJeO_xMAAP__TOzUvA">