[llvm] [InstCombine] Fold `fcmp ord/uno (fptrunc X), C` to `fcmp ord/uno X, C` (PR #185848)

via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 11 03:38:26 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 132103 tests passed
* 2994 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.Transforms/InstCombine/known-never-nan.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\known-never-nan.ll -S -passes=instcombine | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\known-never-nan.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -passes=instcombine
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\known-never-nan.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\known-never-nan.ll:153:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[OP:%.*]] = fptrunc double [[ARG0:%.*]] to float
# |               ^
# | <stdin>:77:30: note: scanning from here
# | define i1 @fptrunc_maybe_nan(double %arg0) {
# |                              ^
# | <stdin>:78:2: note: possible intended match here
# |  %tmp = fcmp ord double %arg0, 0.000000e+00
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\known-never-nan.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            72: define i1 @fpext_maybe_nan(float %arg0) { 
# |            73:  %tmp = fcmp ord float %arg0, 0.000000e+00 
# |            74:  ret i1 %tmp 
# |            75: } 
# |            76:  
# |            77: define i1 @fptrunc_maybe_nan(double %arg0) { 
# | next:153'0                                  X~~~~~~~~~~~~~~~ error: no match found
# |            78:  %tmp = fcmp ord double %arg0, 0.000000e+00 
# | next:153'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:153'1      ?                                           possible intended match
# |            79:  ret i1 %tmp 
# | next:153'0     ~~~~~~~~~~~~~
# |            80: } 
# | next:153'0     ~~
# |            81:  
# | next:153'0     ~
# |            82: define i1 @nnan_fdiv(double %arg0, double %arg1) { 
# | next:153'0     ~~~~~~~~~~~~~~~~~~~~~
# |            83:  %nnan.arg0 = fadd nnan double %arg0, 1.000000e+00 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/185848


More information about the llvm-commits mailing list