<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">