<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/142711>142711</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Missed Optimization: fold fcmp ord + select before fcmp oeq (x, C) into a single fcmp oeq (x, C)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Cancelll
      </td>
    </tr>
</table>

<pre>
    ```llvm
define i1 @src(ptr %0) {
  %2 = getelementptr inbounds nuw i8, ptr %0, i64 48
  %3 = load double, ptr %2, align 8
  %4 = getelementptr inbounds nuw i8, ptr %0, i64 24
  %5 = load double, ptr %4, align 8
  %6 = fadd double %3, %5
  %7 = fcmp ord double %6, 0.000000e+00
  %8 = select i1 %7, double %6, double 0.000000e+00
  %9 = fcmp oeq double %8, 1.000000e+00
  ret i1 %9
}

define i1 @tgt(ptr %0) {
  %2 = getelementptr inbounds nuw i8, ptr %0, i64 48
  %3 = load double, ptr %2, align 8
  %4 = getelementptr inbounds nuw i8, ptr %0, i64 24
  %5 = load double, ptr %4, align 8
  %6 = fadd double %3, %5
  %7 = fcmp oeq double %6, 1.000000e+00
  ret i1 %7
}
```
Alive2: https://alive2.llvm.org/ce/z/2T-D5v

Found this pattern in https://github.com/dtcxzyw/llvm-opt-benchmark/blob/main/bench/typst-rs/optimized/4m3ebbqd1xx21e5m.ll

godbolt: https://godbolt.org/z/vMhzj9eP3
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsVE2TozYQ_TXNRTUu0QgwBw6emeK2lRzyByTUxtoIiUXC8_HrU8Jm7cxuJpWc1-WiEHr9Wv2eumUIZnBELZSPUD5ncoknP7dP0vVkrc2U128tVPzyt_Y8Aj9oOhpHzOQMBA9zD7if4swASw7YMKgfgR9YWiOD4pkNFMnSSC4mmHHKL04H5pYXZvaAT-wW_cRMJZjYbwTFSmC91Ez7RVm6g2N6l9YMjn3Hi_-XEMVGUH6SUPwkYbXij1Jv-PXUCZjINlR9QfXjxPx8j6wSku_4-iPAR863mP0aE8hSH1etsawT-kPwdflzjuYuL327C11VyH-MmWnL1QA_QP2cnh8cj0P85fh_cfxvylf_qnx9U35rPOCHgzVnQigO7BTjFKA4AHaAnVy_71Jr7vw8AHY9AXbvgB3-8fBcni8OdkkQFk8msEnGSLNjxn2gGkw8LWrX-xGw07F_fX97AewS9YOf4oMi159GOf8J2CnrFWA3SuPSKu0AdvFtCvFhDoCdn6IZzTtpwE6MBSn1Teevr5hTOe6svZxq8Fp5G3-s6rpxrSgVc_5yev_a0O9FpttCN0UjM2rzWjSco-D77NT2Sh7rnAtVNJoUyqquqKj3Ddf9sZeVzEyLHEteccGRc17tjvmx5FVTai1EhVUBgtMojf2uZmZCWKjNBdZ5nlmpyIZ1VCI6emHrLiCmyTm3q05qGQIIbk2I4UYTTbTUfjEhkGa_XZSR0XiXKj96q2-zAfBxa3pFRz_T7RIB7l_T7XlKPWdc9EyyYNxg_wGTLbNtP7F4HedXf6fZf6U-AnZrUcnBa9XnFv8KAAD__6Qnxu4">