<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/185734>185734</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed Optimization: simplify fcmp of clamped value to direct comparison of original operand
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Leo0506
</td>
</tr>
</table>
<pre>
```llvm
define i1 @src(float %arg0, float %arg1) {
%v0 = fcmp ogt float %arg1, 1.000000e+00
%v1 = select i1 %v0, float 1.000000e+00, float %arg1
%v2 = fcmp ogt float %v1, 0.000000e+00
%v3 = select i1 %v2, float %v1, float 0.000000e+00
%v4 = fcmp ogt float %arg0, 1.000000e+00
%v5 = select i1 %v4, float 1.000000e+00, float %arg0
%v6 = fcmp ogt float %v5, 0.000000e+00
%v7 = select i1 %v6, float %v5, float 0.000000e+00
%v8 = fcmp oeq float %v3, 1.000000e+00
%v9 = fcmp oeq float %v7, 1.000000e+00
%v10 = and i1 %v8, %v9
ret i1 %v10
}
define i1 @tgt(float %arg0, float %arg1) {
%cmp0 = fcmp oge float %arg0, 1.000000e+00
%cmp1 = fcmp oge float %arg1, 1.000000e+00
%result = and i1 %cmp0, %cmp1
ret i1 %result
}
```
alive2: https://alive2.llvm.org/ce/z/aKr2GE
godbolt: https://godbolt.org/z/Pz4soY6nq
Pattern found in: https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/velox/optimized/ExprToSubfieldFilter.ll
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUlU2TozYQhn9Nc1GtS7T4MAcOnp0lhySVrUouOQposBKBWEl4Z-bXpwQez4y_sutyuQp1v_3qkbqxdE71I1EJ6QOkj5Gc_d7Y8jcyPOVZVJv2uYSMr1-tDwPwXUudGompmEHCnW0At5020jPAVNqeA35m7xdiwIJB_gB8x8LSgTMQj6xrhomZ3p_nfmbxhi8fAnzg_CSLF5kjTY1f3EOpN7Mz1cUmXsvgDffD4s0vvENIXLHGDxaren28rLFkJLex-R3s9Ip38qPYJ4LsFnV6nXqJ5Vess4_Y6f9ib98507d3UnEHurglyu81yNpYcmxfN7sN2Uu9JcnSCSMOMsgfw-9ZS_ve_2xLN8P0oanpR2-3Gab4tvDGNACmltys_Rlu2MURONQ9Q14lb9SvU72egNTqQAhix_beTw7EDrACrNb1TRj9jbE9YNUQYPUSQr9a_OUL8F1v2tpofyk-Bo7CoPn6kjjzdzZ-A777Kr0nO7LOzAFhvKJXfj_Xm8YMgFXrm6eX5--AVdjMJzP5TzWNzX6Q9l_AqtamBqwGqcbwFCKA1YG0eQKszOTVoF6oBay-PE32L_PnXHeKdFsp7clutI7aUrSFKGREZZznIs5jzEW0L4ssqwm7DosQz-IMk1y2jUySuMtikUeqRI4ZFzGPC5EIsdnm9TZvtgVPM6plISDhNEilT8cYKedmKuNtmosk0rIm7ZZXMOJI39kSBcTwRrblglvPvYOEa-W8eyvjlddU_q6co5b9sTJKr8xylk4Nk1bd87G3OtZoOUzUsoPUMzFvWKtsmOzGDJO0ypkxZBmrejVKzcxEVo5tNFtd3rmX5V_heCmTNf9Q4wGrBcEBVkfGQ4n_BQAA__8-g9ZM">