<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/157069>157069</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] error: custom op 'linalg.elemwise_binary' is unknown
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vfdff
</td>
</tr>
</table>
<pre>
The linalg.elemwise_binary is a standard interface in linalg dialect, but the mlir-opt doesn't know it, see [linalgelementwiseop](https://mlir.llvm.org/docs/Dialects/Linalg/#linalgelementwise-linalgelementwiseop),
* test: https://godbolt.org/z/ePP3a5EaM
```
func.func @Add_105_L0(%arg0: tensor<18x4x64x64xf16>, %arg1: tensor<18x4x64x64xf16>) -> tensor<18x4x64x64xf16> attributes {hacc.entry} {
%cst = arith.constant 1.000000e+00 : f16
%0 = tensor.empty() : tensor<18x4x64x64xf16>
%1 = linalg.fill ins(%cst : f16) outs(%0 : tensor<18x4x64x64xf16>) -> tensor<18x4x64x64xf16>
%2 = linalg.elemwise_binary {fun = #linalg.binary_fn<mul>} ins(%arg1, %1 : tensor<18x4x64x64xf16>, tensor<18x4x64x64xf16>) outs(%0 : tensor<18x4x64x64xf16>) -> tensor<18x4x64x64xf16>
%3 = linalg.elemwise_binary {fun = #linalg.binary_fn<add>} ins(%arg0, %2 : tensor<18x4x64x64xf16>, tensor<18x4x64x64xf16>) outs(%0 : tensor<18x4x64x64xf16>) -> tensor<18x4x64x64xf16>
return %3 : tensor<18x4x64x64xf16>
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMVU-PozYU_zSPy1OQseMABw5kmJy20h56Hxkwwa2xI9vM7vTTVzZ0sp2OmkNVaSMricJ7vz-8lx_Ce3U1UjbAz8C7TKxhtq55ncZpyno7vjW_zhK1MkJfc6nl8k15-dIrI9wbKo8CfRBmFG5EZYJ0kxgkKrN34KiElkMA-oT9GjDMEhet3MHeAo5WegO0DPi7sd9QpSr0UiLw89YfCaUJkdPegHdAqzmEmwfWAr0AvUSwXOvXJbfuCvQy2sEDvXQbbfz6JQGlavYP0MNnNLSOQoC090NbDNIHYC3-nf9qx97qsLP_AfQiv35lgj-LX2LfieyHtNNqhjy-IRxJO44vBeEvXwjQCigX7koieJDGWwfsqai-H7-f0pmKE7DnJCkVFo8KazwAe_6XEhQhONWvQXqE8jyLYcilCe4Nyi7-AKRFxEg3-IDAOhROhTkfrInDDljkJL0k0DMhGAVF5Pc2kpo2AblcbuEt2azxgfR3gCIB7Fs3Ka1RGb_dqk3SRkhrtGvYL5BH6I9vzF0A_VHAx7WH8jytJlW8L1W-XXuZDLCnZdURrezustPgthkWD4U-PbDxP5lm_8m0GMdPTJPdNP0pTTsZVmf-8v5wN6HsfvxXZ2PDxprVIpNNUfKSnKoj4dnccFpUfCpJVYipYlIQJvt6ZIKxijJWiEw1lFBOasILwhjlOad9ceJTVRWnWlZHCkciF6H0e7ZlyvtVNkVkqTMteql9ymxKYwYCpTG9XRPrD_169XAkWvng7whBBZ1yPjXwDqVz0WyLw-qDXdDeEGj5-fyBljHuVxOz2mSr082HJFRhXvt8sAvQS-TcPw43Z39Lj4BLshAzeXfx2tA_AwAA__8i0e6S">