<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56962>56962</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir:llvm] `LLVM::ConstantOp` allows mismatched constant value
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir:llvm
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
Mogball
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Mogball
</td>
</tr>
</table>
<pre>
These are valid instances of `LLVM::ConstantOp` in MLIR:
```
%cst0 = llvm.mlir.constant(1 : i32) : f64
%cst1 = llvm.mlir.constant(1.0 : f64) : f32
```
But they both fail to export. The former triggers an assert `isa<FloatAttr>` and the latter fails to export due to mismatched float size.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx9UcGOmzAQ_RpzGRU5Nhg4cMhuGqlSokpV1buBAVyZOLKHbbdfX5tNujlUK42Mx8N7M-9N54bX9vuMAUF7hBdtzQDmEkhfegzgRmCKn04_zkzuYzy7rURfr_E5_gfn05dvqcQPjN9PxW_xloqyD8SByQNY-7LkizU-729ETNS7WNqDkYKJZruOqniE7j6A5vwf4g6OPP8dYzufVgKa8RU6RzOM2lggB_j76jzlEH2A0fkFPZA304Q-gL6ADgE9JSNM0Ew-H63TtCfyTH5ONujLkEjBaqIITazhnRaGFVO2mLBo6mccYEwEEMwfzDNsd6psqkLuapUNrRwa2eiMDFlsWfmUFEdZST0rDx8tQ1vrfoXHNnej0lZXzFZv25noGhJaHGNMhua1i4YuMdlavH0-Xb37iX10-GhCWDHES6kaJbK5lQXWXdX3uwqLoVed5lp0QtSj0nosijKzukMb0uxMiMfxhYgKMtMKLgSveSlkoUSRC64q1VS1rIay5yWyguMSLcy3jTs_Zb7dhurWKcSiNYHCezEux0wXxFvDs5u66MStmV5pdr69PWabmHZT8hcPHepP">