[llvm] [InstCombine] Fold `fptrunc(x) ord/uno [ C | fptrunc(y) ]` to `x ord/uno [ C | y ]` (PR #185844)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 13 08:26:04 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 172546 tests passed
* 3135 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Transforms/InstCombine/fold-fcmp-trunc.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=instcombine -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=instcombine -S
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll:85:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = fcmp uno double [[X]], [[Y]]
# | ^
# | <stdin>:39:55: note: scanning from here
# | define i1 @fcmp_trunc_pair_uno(double %x, double %y) {
# | ^
# | <stdin>:39:55: note: with "X" equal to "%x"
# | define i1 @fcmp_trunc_pair_uno(double %x, double %y) {
# | ^
# | <stdin>:39:55: note: with "Y" equal to "%y"
# | define i1 @fcmp_trunc_pair_uno(double %x, double %y) {
# | ^
# | <stdin>:40:2: note: possible intended match here
# | %tx = fptrunc double %x to float
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll:97:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = fcmp ord double [[X]], [[Y]]
# | ^
# | <stdin>:46:55: note: scanning from here
# | define i1 @fcmp_trunc_pair_ord(double %x, double %y) {
# | ^
# | <stdin>:46:55: note: with "X" equal to "%x"
# | define i1 @fcmp_trunc_pair_ord(double %x, double %y) {
# | ^
# | <stdin>:46:55: note: with "Y" equal to "%y"
# | define i1 @fcmp_trunc_pair_ord(double %x, double %y) {
# | ^
# | <stdin>:49:6: note: possible intended match here
# | %result = fcmp ord float %tx, %ty
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/InstCombine/fold-fcmp-trunc.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 34: define i1 @fcmp_trunc_ord_inf(double %0) {
# | 35: %result = fcmp ord double %0, 0.000000e+00
# | 36: ret i1 %result
# | 37: }
# | 38:
# | 39: define i1 @fcmp_trunc_pair_uno(double %x, double %y) {
# | next:85'0 X error: no match found
# | next:85'1 with "X" equal to "%x"
# | next:85'2 with "Y" equal to "%y"
# | 40: %tx = fptrunc double %x to float
# | next:85'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:85'3 ? possible intended match
# | 41: %ty = fptrunc double %y to float
# | next:85'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 42: %result = fcmp uno float %tx, %ty
# | next:85'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 43: ret i1 %result
# | next:85'0 ~~~~~~~~~~~~~~~~
# | 44: }
# | next:85'0 ~~
# | 45:
# | next:85'0 ~
# | 46: define i1 @fcmp_trunc_pair_ord(double %x, double %y) {
# | next:85'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:97'0 X error: no match found
# | next:97'1 with "X" equal to "%x"
# | next:97'2 with "Y" equal to "%y"
# | 47: %tx = fptrunc double %x to float
# | next:97'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 48: %ty = fptrunc double %y to float
# | next:97'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 49: %result = fcmp ord float %tx, %ty
# | next:97'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:97'3 ? possible intended match
# | 50: ret i1 %result
# | next:97'0 ~~~~~~~~~~~~~~~~
# | 51: }
# | next:97'0 ~~
# | 52:
# | next:97'0 ~
# | 53: define i1 @fcmp_trunc_with_nnan(double %0) {
# | next:97'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 54: %result = fcmp nnan oge double %0, 0x4058FFFFF0000000
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/185844
More information about the llvm-commits
mailing list