<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/113635>113635</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong simplification `X` * 0 -> `X` of floating numbers
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
bongjunj
</td>
</tr>
</table>
<pre>
Alive2 report: https://alive2.llvm.org/ce/z/ZrE6hW
```llvm
----------------------------------------
define float @test2.2(float %a, i1 %bc) {
entry:
br i1 %bc, label %bb1, label %bb2
bb2:
br label %exit
bb1:
br label %exit
exit:
%p = phi float [ 0x7fc00000, %bb1 ], [ %a, %bb2 ]
%v.1 = fmul float %p, 0.000000
ret float %v.1
}
=>
define float @test2.2(float %a, i1 %bc) {
entry:
br i1 %bc, label %bb1, label %bb2
bb2:
%#0 = fmul float %a, 0.000000
br label %exit
bb1:
br label %exit
exit:
%p = phi float [ 0x7fc00000, %bb1 ], [ %#0, %bb2 ]
ret float %p
}
Transformation doesn't verify!
ERROR: Value mismatch
Example:
float %a = undef
i1 %bc = #x0 (0)
Source:
>> Jump to %bb2
>> Jump to %exit
float %p = #x7f802000 (SNaN)
float %v.1 = #x7f802000 (SNaN)
Target:
>> Jump to %bb2
float %#0 = #x7fa00000 (SNaN)
>> Jump to %exit
float %p = #x7f800000 (+oo)
Source value: #x7f802000 (SNaN)
Target value: #x7f800000 (+oo)
Summary:
0 correct transformations
1 incorrect transformations
0 failed-to-prove transformations
0 Alive2 errors
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVc-v4jYQ_msmFwvkTDAhhxxggUMPW-lt1a16c5IJ-CmJI9uhvP71VZwQyFvaferpRQgYz-dvfnx2RlqrTg1RCmIHYh_Izp21STPdnF675jXIdPGWbit1IWSGWm0cRFt2dq61EG0Bj4BH6d3LqrrUS21OgMecAI9_Ax7_NIf1-TvwPfDt-L3mw6eHPzoWH3wGdEGlaoiVlZaOwYo7sg6XCLgZl1BIwC9Mhf3fLAdMGMS7YTM1zrz16XuLscw84L6wSmZUeTML39n4mHFvzkgmIF2VmyPDDyK9fYcCipZBtGftWd2KFTvGr3GZ8_7p8xsyZSD23hK7qfohZ-8ZCAHFZRl6xrLuKjY1q-3hfMkH0jG6IXdHXJbhmGg8skG0h-jwWfUAFIARf1KrfFbrJ5OvT_2pgnNR2neS_GZkY0ttaumUblihyTaAsWMXMqp8Awwfsz28vPz60t_n32XVEauVraXLzzPIVdZtRVNN9yb6urqmoHLw3BTz64DRlTPADQdMHvm-6c7k9Nii6ADRgf3S1S1zeqbqM-e94fceTBHjcsORcx_421f5dYr9eIh_jh5bKc2J3McynfinEzcEkF7kHwL8r8JuTIA7rSeqoZ_s0gvYK_mfhQ0l_Qh-Tj0G6Opazm4nZ7k2hnLH3Oy02RsgZKr5CYSzUqqKioXTi9boC_07cBw-ZIw29t0MCYo0KpIokQGlYYzJBlcxj4NzKkQoV-t1GRElec5FwkNZoCjzPClEsZaBSpHjKuQoOIpwFS_jSAi-yYowSfIizwSsONVSVdNYC5S1HaVhGK0jEfg3gPVTE7Ghv5j3AmI_RE3ab1pk3cnCilfKOnunccpVlH43ujkxq-q2UqXKh-sKa_4HrHsptoyzRX9Cbku6HC69ak6s6eqMjA06U6XzSXxS7txly1zXgEc_YIefvsevlDvAo8_TAh7HQi4p_hMAAP__casr4Q">