[llvm-branch-commits] [llvm] InstCombine: Improve SimplifyDemandedFPClass min/max handling (PR #175382)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Jan 12 09:46:19 PST 2026


github-actions[bot] wrote:

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

* 129347 tests passed
* 2860 tests skipped
* 9 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/Attributor/nofpclass-implied-by-fcmp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=attributor -attributor-manifest-internal < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-implied-by-fcmp.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-implied-by-fcmp.ll --check-prefixes=CHECK,TUNIT
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -S -passes=attributor -attributor-manifest-internal
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-implied-by-fcmp.ll' --check-prefixes=CHECK,TUNIT
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-implied-by-fcmp.ll:14:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: define noundef nofpclass(pinf) float @clamp_is_ogt_1_to_1(
# |                ^
# | <stdin>:1:1: note: scanning from here
# | ; ModuleID = '<stdin>'
# | ^
# | <stdin>:14:1: note: possible intended match here
# | define noundef float @clamp_is_ogt_1_to_1(float noundef %arg) #2 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-implied-by-fcmp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1: ; ModuleID = '<stdin>' 
# | label:14'0     X~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |             2: source_filename = "<stdin>" 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             3:  
# | label:14'0     ~
# |             4: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             5: declare float @llvm.fabs.f32(float) #0 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             6:  
# | label:14'0     ~
# |             .
# |             .
# |             .
# |             9:  
# | label:14'0     ~
# |            10: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            11: declare void @llvm.assume(i1 noundef) #1 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            12:  
# | label:14'0     ~
# |            13: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            14: define noundef float @clamp_is_ogt_1_to_1(float noundef %arg) #2 { 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:14'1     ?                                                                   possible intended match
# |            15:  %is.ogt.1 = fcmp ogt float %arg, 1.000000e+00 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            16:  %select = select i1 %is.ogt.1, float 1.000000e+00, float %arg 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            17:  ret float %select 
# | label:14'0     ~~~~~~~~~~~~~~~~~~~
# |            18: } 
# | label:14'0     ~~
# |            19:  
# | label:14'0     ~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/Attributor/nofpclass-select.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-select.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-select.ll --check-prefixes=CHECK,TUNIT
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-select.ll' --check-prefixes=CHECK,TUNIT
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-select.ll:68:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: define noundef nofpclass(nan) float @ret_select_clamp_nan_to_zero_uno
# |                ^
# | <stdin>:42:59: note: scanning from here
# | define nofpclass(nan) float @ret_select_nonan__noinf_nonan(i1 %cond, float nofpclass(nan) %arg0, float nofpclass(nan inf) %arg1) #1 {
# |                                                           ^
# | <stdin>:48:1: note: possible intended match here
# | define noundef float @ret_select_clamp_nan_to_zero_uno(float noundef %arg) #1 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass-select.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            37:  %fence = call nofpclass(nan) float @llvm.arithmetic.fence.f32(float %select) #2 
# |            38:  ret float %fence 
# |            39: } 
# |            40:  
# |            41: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# |            42: define nofpclass(nan) float @ret_select_nonan__noinf_nonan(i1 %cond, float nofpclass(nan) %arg0, float nofpclass(nan inf) %arg1) #1 { 
# | label:68'0                                                               X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            43:  %select = select i1 %cond, float %arg0, float %arg1 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            44:  ret float %select 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~
# |            45: } 
# | label:68'0     ~~
# |            46:  
# | label:68'0     ~
# |            47: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            48: define noundef float @ret_select_clamp_nan_to_zero_uno(float noundef %arg) #1 { 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:68'1     ?                                                                                possible intended match
# |            49:  %is.nan = fcmp uno float %arg, 0.000000e+00 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            50:  %select = select i1 %is.nan, float 0.000000e+00, float %arg 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            51:  ret float %select 
# | label:68'0     ~~~~~~~~~~~~~~~~~~~
# |            52: } 
# | label:68'0     ~~
# |            53:  
# | label:68'0     ~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/Attributor/nofpclass.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -use-constant-fp-for-scalable-splat=false -S < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe --allow-unused-prefixes C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass.ll --check-prefixes=CHECK,CHECK-CV,TUNIT,TUNIT-CV
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\opt.exe' -aa-pipeline=basic-aa -passes=attributor -attributor-manifest-internal -attributor-annotate-decl-cs -use-constant-fp-for-scalable-splat=false -S
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' --allow-unused-prefixes 'C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass.ll' --check-prefixes=CHECK,CHECK-CV,TUNIT,TUNIT-CV
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass.ll:3635:16: error: CHECK-LABEL: expected string not found in input
# | ; CHECK-LABEL: define noundef nofpclass(inf nzero sub norm) float @assume_select_condition_not_nan
# |                ^
# | <stdin>:1806:66: note: scanning from here
# | define noundef float @fadd_double_no_zero__output_only_is_dynamic(float noundef nofpclass(zero) %arg) #18 {
# |                                                                  ^
# | <stdin>:1835:1: note: possible intended match here
# | define noundef nofpclass(nzero) float @fadd_double_no_zero__output_only_is_ftpz(float noundef nofpclass(zero) %arg) #12 {
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\Attributor\nofpclass.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |            1801:  %add = fadd float %arg, %arg 
# |            1802:  ret float %add 
# |            1803: } 
# |            1804:  
# |            1805: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# |            1806: define noundef float @fadd_double_no_zero__output_only_is_dynamic(float noundef nofpclass(zero) %arg) #18 { 
# | label:3635'0                                                                      X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            1807:  %add = fadd float %arg, %arg 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1808:  ret float %add 
# | label:3635'0     ~~~~~~~~~~~~~~~~
# |            1809: } 
# | label:3635'0     ~~
# |            1810:  
# | label:3635'0     ~
# |            1811: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(inaccessiblemem: write) 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# |            1830:  call void @llvm.assume(i1 noundef %ord) #22 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1831:  ret float %arg 
# | label:3635'0     ~~~~~~~~~~~~~~~~
# |            1832: } 
# | label:3635'0     ~~
# |            1833:  
# | label:3635'0     ~
# |            1834: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1835: define noundef nofpclass(nzero) float @fadd_double_no_zero__output_only_is_ftpz(float noundef nofpclass(zero) %arg) #12 { 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:3635'1     ?                                                                                                                          possible intended match
# |            1836:  %add = fadd float %arg, %arg 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1837:  ret float %add 
# | label:3635'0     ~~~~~~~~~~~~~~~~
# |            1838: } 
# | label:3635'0     ~~
# |            1839:  
# | label:3635'0     ~
# |            1840: ; Function Attrs: mustprogress nofree norecurse nosync nounwind willreturn memory(none) 
# | label:3635'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |               .
# |               .
# |               .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/minmax-fp.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\minmax-fp.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\minmax-fp.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\minmax-fp.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\minmax-fp.ll:125:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[MAX1]]
# |               ^
# | <stdin>:60:56: note: scanning from here
# |  %max1 = select i1 %cmp1, float %x, float -0.000000e+00
# |                                                        ^
# | <stdin>:60:56: note: with "MAX1" equal to "%max1"
# |  %max1 = select i1 %cmp1, float %x, float -0.000000e+00
# |                                                        ^
# | <stdin>:63:2: note: possible intended match here
# |  ret float %max2
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\minmax-fp.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            55:  ret float %min2 
# |            56: } 
# |            57:  
# |            58: define float @fmax_fmax_zero_mismatch(float noundef %x) { 
# |            59:  %cmp1 = fcmp ogt float %x, 0.000000e+00 
# |            60:  %max1 = select i1 %cmp1, float %x, float -0.000000e+00 
# | next:125'0                                                            X error: no match found
# | next:125'1                                                              with "MAX1" equal to "%max1"
# |            61:  %cmp2 = fcmp olt float %max1, 0.000000e+00 
# | next:125'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            62:  %max2 = select i1 %cmp2, float -0.000000e+00, float %max1 
# | next:125'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            63:  ret float %max2 
# | next:125'0     ~~~~~~~~~~~~~~~~~
# | next:125'2      ?                possible intended match
# |            64: } 
# | next:125'0     ~~
# |            65:  
# | next:125'0     ~
# |            66: define i64 @t8(float %a) { 
# | next:125'0     ~~~~~~~~~~~~~~~
# |            67:  %.inv = fcmp oge float %a, 5.000000e+00 
# |            68:  %1 = select i1 %.inv, float 5.000000e+00, float %a 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-maximum.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.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\simplify-demanded-fpclass-maximum.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1731:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:898:38: note: scanning from here
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:898:38: note: with "SELECT" equal to "%select"
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:900:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1746:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:906:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:906:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:908:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1793:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:930:44: note: scanning from here
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:930:44: note: with "SELECT" equal to "%select"
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:932:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1808:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:938:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:938:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:940:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1823:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.maximum.f32(float [[SELECT]], float [[NEGATIVE_OR_ZERO]])
# |               ^
# | <stdin>:946:60: note: scanning from here
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:946:60: note: with "SELECT" equal to "%select"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:946:60: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:947:3: note: possible intended match here
# |  %result = call float @llvm.maximum.f32(float %select, float %negative.or.zero)
# |   ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll:1839:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.maximum.f32(float [[NEGATIVE_OR_ZERO]], float [[SELECT]])
# |               ^
# | <stdin>:954:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:954:69: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:954:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:955:2: note: possible intended match here
# |  %result = call float @llvm.maximum.f32(float %negative.or.zero, float %select)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximum.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            893: } 
# |            894:  
# |            895: define nofpclass(snan) float @select_is_positive_or_0__maximum__nnorm_0(float noundef %arg) { 
# |            896:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            897:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            898:  %nnorm = call float @returns_nnorm() 
# | next:1731'0                                          X error: no match found
# | next:1731'1                                            with "SELECT" equal to "%select"
# |            899:  %result = call float @llvm.maximum.f32(float %select, float %nnorm) 
# | next:1731'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            900:  ret float %result 
# | next:1731'0     ~~~~~~~~~~~~~~~~~~~
# | next:1731'2      ?                  possible intended match
# |            901: } 
# | next:1731'0     ~~
# |            902:  
# | next:1731'0     ~
# |            903: define nofpclass(snan) float @select_is_positive_or_0__maximum__nnorm_1(float noundef %arg) { 
# | next:1731'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            904:  %nnorm = call float @returns_nnorm() 
# |            905:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            906:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1746'0                                                                         X error: no match found
# | next:1746'1                                                                           with "SELECT" equal to "%select"
# |            907:  %result = call float @llvm.maximum.f32(float %nnorm, float %select) 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            908:  ret float %result 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~
# | next:1746'2      ?                  possible intended match
# |            909: } 
# | next:1746'0     ~~
# |            910:  
# | next:1746'0     ~
# |            911: define nofpclass(snan) float @select_is_positive_or_0__maximum__nnorm_or_nan_0(float noundef %arg) { 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            912:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            913:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |              .
# |              .
# |              .
# |            925: } 
# |            926:  
# |            927: define nofpclass(snan) float @select_is_positive_or_0__maximum__negative(float noundef %arg) { 
# |            928:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            929:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            930:  %negative = call float @returns_negative() 
# | next:1793'0                                                X error: no match found
# | next:1793'1                                                  with "SELECT" equal to "%select"
# |            931:  %result = call float @llvm.maximum.f32(float %select, float %negative) 
# | next:1793'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            932:  ret float %result 
# | next:1793'0     ~~~~~~~~~~~~~~~~~~~
# | next:1793'2      ?                  possible intended match
# |            933: } 
# | next:1793'0     ~~
# |            934:  
# | next:1793'0     ~
# |            935: define nofpclass(snan) float @negative__maximum__select_is_positive_or_0(float noundef %arg) { 
# | next:1793'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            936:  %negative = call float @returns_negative() 
# |            937:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            938:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1808'0                                                                         X error: no match found
# | next:1808'1                                                                           with "SELECT" equal to "%select"
# |            939:  %result = call float @llvm.maximum.f32(float %negative, float %select) 
# | next:1808'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            940:  ret float %result 
# | next:1808'0     ~~~~~~~~~~~~~~~~~~~
# | next:1808'2      ?                  possible intended match
# |            941: } 
# | next:1808'0     ~~
# |            942:  
# | next:1808'0     ~
# |            943: define nofpclass(snan) float @select_is_positive_or_0__maximum__negative_or_zero(float noundef %arg) { 
# | next:1808'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            944:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            945:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            946:  %negative.or.zero = call float @returns_negative_or_zero() 
# | next:1823'0                                                                X error: no match found
# | next:1823'1                                                                  with "SELECT" equal to "%select"
# | next:1823'2                                                                  with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |            947:  %result = call float @llvm.maximum.f32(float %select, float %negative.or.zero) 
# | next:1823'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1823'3       ?                                                                              possible intended match
# |            948:  ret float %result 
# | next:1823'0     ~~~~~~~~~~~~~~~~~~~
# |            949: } 
# | next:1823'0     ~~
# |            950:  
# | next:1823'0     ~
# |            951: define nofpclass(snan) float @negative_or_zero__maximum__select_is_positive_or_0(float noundef %arg) { 
# | next:1823'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            952:  %negative.or.zero = call float @returns_negative_or_zero() 
# |            953:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            954:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1839'0                                                                         X error: no match found
# | next:1839'1                                                                           with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# | next:1839'2                                                                           with "SELECT" equal to "%select"
# |            955:  %result = call float @llvm.maximum.f32(float %negative.or.zero, float %select) 
# | next:1839'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1839'3      ?                                                                               possible intended match
# |            956:  ret float %result 
# | next:1839'0     ~~~~~~~~~~~~~~~~~~~
# |            957: } 
# | next:1839'0     ~~
# |            958:  
# | next:1839'0     ~
# |            959: define nofpclass(snan) float @negative_or_zero__maximum__positive() { 
# | next:1839'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            960:  %neg.nonzero = call float @returns_negative_nonzero() 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-maximumnum.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.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\simplify-demanded-fpclass-maximumnum.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1738:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:907:38: note: scanning from here
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:907:38: note: with "SELECT" equal to "%select"
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:909:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1753:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:915:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:915:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:917:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1768:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:923:52: note: scanning from here
# |  %nnorm.or.nan = call float @returns_nnorm_or_nan()
# |                                                    ^
# | <stdin>:923:52: note: with "SELECT" equal to "%select"
# |  %nnorm.or.nan = call float @returns_nnorm_or_nan()
# |                                                    ^
# | <stdin>:925:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1783:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:931:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:931:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:933:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1798:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:939:44: note: scanning from here
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:939:44: note: with "SELECT" equal to "%select"
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:941:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1813:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[SELECT]]
# |               ^
# | <stdin>:947:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:947:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:949:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1828:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.maximumnum.f32(float [[SELECT]], float [[NEGATIVE_OR_ZERO]])
# |               ^
# | <stdin>:955:60: note: scanning from here
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:955:60: note: with "SELECT" equal to "%select"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:955:60: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:956:3: note: possible intended match here
# |  %result = call float @llvm.maximumnum.f32(float %select, float %negative.or.zero)
# |   ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll:1844:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.maximumnum.f32(float [[NEGATIVE_OR_ZERO]], float [[SELECT]])
# |               ^
# | <stdin>:963:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:963:69: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:963:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:964:2: note: possible intended match here
# |  %result = call float @llvm.maximumnum.f32(float %negative.or.zero, float %select)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-maximumnum.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            902: } 
# |            903:  
# |            904: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__nnorm_0(float noundef %arg) { 
# |            905:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            906:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            907:  %nnorm = call float @returns_nnorm() 
# | next:1738'0                                          X error: no match found
# | next:1738'1                                            with "SELECT" equal to "%select"
# |            908:  %result = call float @llvm.maximumnum.f32(float %select, float %nnorm) 
# | next:1738'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            909:  ret float %result 
# | next:1738'0     ~~~~~~~~~~~~~~~~~~~
# | next:1738'2      ?                  possible intended match
# |            910: } 
# | next:1738'0     ~~
# |            911:  
# | next:1738'0     ~
# |            912: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__nnorm_1(float noundef %arg) { 
# | next:1738'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            913:  %nnorm = call float @returns_nnorm() 
# |            914:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            915:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1753'0                                                                         X error: no match found
# | next:1753'1                                                                           with "SELECT" equal to "%select"
# |            916:  %result = call float @llvm.maximumnum.f32(float %nnorm, float %select) 
# | next:1753'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            917:  ret float %result 
# | next:1753'0     ~~~~~~~~~~~~~~~~~~~
# | next:1753'2      ?                  possible intended match
# |            918: } 
# | next:1753'0     ~~
# |            919:  
# | next:1753'0     ~
# |            920: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__nnorm_or_nan_0(float noundef %arg) { 
# | next:1753'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            921:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            922:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            923:  %nnorm.or.nan = call float @returns_nnorm_or_nan() 
# | next:1768'0                                                        X error: no match found
# | next:1768'1                                                          with "SELECT" equal to "%select"
# |            924:  %result = call float @llvm.maximumnum.f32(float %select, float %nnorm.or.nan) 
# | next:1768'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            925:  ret float %result 
# | next:1768'0     ~~~~~~~~~~~~~~~~~~~
# | next:1768'2      ?                  possible intended match
# |            926: } 
# | next:1768'0     ~~
# |            927:  
# | next:1768'0     ~
# |            928: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__nnorm_or_nan_1(float noundef %arg) { 
# | next:1768'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            929:  %nnorm.or.nan = call float @returns_nnorm_or_nan() 
# |            930:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            931:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1783'0                                                                         X error: no match found
# | next:1783'1                                                                           with "SELECT" equal to "%select"
# |            932:  %result = call float @llvm.maximumnum.f32(float %nnorm.or.nan, float %select) 
# | next:1783'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            933:  ret float %result 
# | next:1783'0     ~~~~~~~~~~~~~~~~~~~
# | next:1783'2      ?                  possible intended match
# |            934: } 
# | next:1783'0     ~~
# |            935:  
# | next:1783'0     ~
# |            936: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__negative(float noundef %arg) { 
# | next:1783'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            937:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            938:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            939:  %negative = call float @returns_negative() 
# | next:1798'0                                                X error: no match found
# | next:1798'1                                                  with "SELECT" equal to "%select"
# |            940:  %result = call float @llvm.maximumnum.f32(float %select, float %negative) 
# | next:1798'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            941:  ret float %result 
# | next:1798'0     ~~~~~~~~~~~~~~~~~~~
# | next:1798'2      ?                  possible intended match
# |            942: } 
# | next:1798'0     ~~
# |            943:  
# | next:1798'0     ~
# |            944: define nofpclass(snan) float @negative__maximumnum__select_is_positive_or_0(float noundef %arg) { 
# | next:1798'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            945:  %negative = call float @returns_negative() 
# |            946:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            947:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1813'0                                                                         X error: no match found
# | next:1813'1                                                                           with "SELECT" equal to "%select"
# |            948:  %result = call float @llvm.maximumnum.f32(float %negative, float %select) 
# | next:1813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            949:  ret float %result 
# | next:1813'0     ~~~~~~~~~~~~~~~~~~~
# | next:1813'2      ?                  possible intended match
# |            950: } 
# | next:1813'0     ~~
# |            951:  
# | next:1813'0     ~
# |            952: define nofpclass(snan) float @select_is_positive_or_0__maximumnum__negative_or_zero(float noundef %arg) { 
# | next:1813'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            953:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            954:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            955:  %negative.or.zero = call float @returns_negative_or_zero() 
# | next:1828'0                                                                X error: no match found
# | next:1828'1                                                                  with "SELECT" equal to "%select"
# | next:1828'2                                                                  with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |            956:  %result = call float @llvm.maximumnum.f32(float %select, float %negative.or.zero) 
# | next:1828'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1828'3       ?                                                                                 possible intended match
# |            957:  ret float %result 
# | next:1828'0     ~~~~~~~~~~~~~~~~~~~
# |            958: } 
# | next:1828'0     ~~
# |            959:  
# | next:1828'0     ~
# |            960: define nofpclass(snan) float @negative_or_zero__maximumnum__select_is_positive_or_0(float noundef %arg) { 
# | next:1828'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            961:  %negative.or.zero = call float @returns_negative_or_zero() 
# |            962:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            963:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1844'0                                                                         X error: no match found
# | next:1844'1                                                                           with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# | next:1844'2                                                                           with "SELECT" equal to "%select"
# |            964:  %result = call float @llvm.maximumnum.f32(float %negative.or.zero, float %select) 
# | next:1844'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1844'3      ?                                                                                  possible intended match
# |            965:  ret float %result 
# | next:1844'0     ~~~~~~~~~~~~~~~~~~~
# |            966: } 
# | next:1844'0     ~~
# |            967:  
# | next:1844'0     ~
# |            968: define nofpclass(snan) float @negative_or_zero__maximumnum__positive() { 
# | next:1844'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            969:  %neg.nonzero = call float @returns_negative_nonzero() 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-minimum.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.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\simplify-demanded-fpclass-minimum.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1730:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[NNORM:%.*]] = call float @returns_nnorm()
# |               ^
# | <stdin>:901:2: note: 'next' match was here
# |  %nnorm = call float @returns_nnorm()
# |  ^
# | <stdin>:898:94: note: previous match ended here
# | define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_0(float noundef %arg) {
# |                                                                                              ^
# | <stdin>:899:1: note: non-matching line after previous match is here
# |  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1744:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[NNORM]]
# |               ^
# | <stdin>:907:38: note: scanning from here
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:907:38: note: with "NNORM" equal to "%nnorm"
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:911:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1756:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[NNORM_OR_NAN:%.*]] = call float @returns_nnorm_or_nan()
# |               ^
# | <stdin>:917:2: note: 'next' match was here
# |  %nnorm.or.nan = call float @returns_nnorm_or_nan()
# |  ^
# | <stdin>:914:101: note: previous match ended here
# | define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_or_nan_0(float noundef %arg) {
# |                                                                                                     ^
# | <stdin>:915:1: note: non-matching line after previous match is here
# |  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1770:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[NNORM_OR_NAN]]
# |               ^
# | <stdin>:923:52: note: scanning from here
# |  %nnorm.or.nan = call float @returns_nnorm_or_nan()
# |                                                    ^
# | <stdin>:923:52: note: with "NNORM_OR_NAN" equal to "%nnorm.or.nan"
# |  %nnorm.or.nan = call float @returns_nnorm_or_nan()
# |                                                    ^
# | <stdin>:927:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1782:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[NEGATIVE:%.*]] = call float @returns_negative()
# |               ^
# | <stdin>:933:2: note: 'next' match was here
# |  %negative = call float @returns_negative()
# |  ^
# | <stdin>:930:95: note: previous match ended here
# | define nofpclass(snan) float @select_is_positive_or_0__minimum__negative(float noundef %arg) {
# |                                                                                               ^
# | <stdin>:931:1: note: non-matching line after previous match is here
# |  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1796:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[NEGATIVE]]
# |               ^
# | <stdin>:939:44: note: scanning from here
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:939:44: note: with "NEGATIVE" equal to "%negative"
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:943:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1811:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.minimum.f32(float [[SELECT]], float [[NEGATIVE_OR_ZERO]])
# |               ^
# | <stdin>:949:60: note: scanning from here
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:949:60: note: with "SELECT" equal to "%select"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:949:60: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:950:3: note: possible intended match here
# |  %result = call float @llvm.minimum.f32(float %select, float %negative.or.zero)
# |   ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll:1827:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.minimum.f32(float [[NEGATIVE_OR_ZERO]], float [[SELECT]])
# |               ^
# | <stdin>:957:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:957:69: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:957:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:958:2: note: possible intended match here
# |  %result = call float @llvm.minimum.f32(float %negative.or.zero, float %select)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimum.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            896: } 
# |            897:  
# |            898: define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_0(float noundef %arg) { 
# |            899:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            900:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            901:  %nnorm = call float @returns_nnorm() 
# | next:1730        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            902:  %result = call float @llvm.minimum.f32(float %select, float %nnorm) 
# |            903:  ret float %result 
# |            904: } 
# |            905:  
# |            906: define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_1(float noundef %arg) { 
# |            907:  %nnorm = call float @returns_nnorm() 
# | next:1744'0                                          X error: no match found
# | next:1744'1                                            with "NNORM" equal to "%nnorm"
# |            908:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# | next:1744'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            909:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1744'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            910:  %result = call float @llvm.minimum.f32(float %nnorm, float %select) 
# | next:1744'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            911:  ret float %result 
# | next:1744'0     ~~~~~~~~~~~~~~~~~~~
# | next:1744'2      ?                  possible intended match
# |            912: } 
# | next:1744'0     ~~
# |            913:  
# | next:1744'0     ~
# |            914: define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_or_nan_0(float noundef %arg) { 
# | next:1744'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            915:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            916:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            917:  %nnorm.or.nan = call float @returns_nnorm_or_nan() 
# | next:1756        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            918:  %result = call float @llvm.minimum.f32(float %select, float %nnorm.or.nan) 
# |            919:  ret float %result 
# |            920: } 
# |            921:  
# |            922: define nofpclass(snan) float @select_is_positive_or_0__minimum__nnorm_or_nan_1(float noundef %arg) { 
# |            923:  %nnorm.or.nan = call float @returns_nnorm_or_nan() 
# | next:1770'0                                                        X error: no match found
# | next:1770'1                                                          with "NNORM_OR_NAN" equal to "%nnorm.or.nan"
# |            924:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# | next:1770'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            925:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1770'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            926:  %result = call float @llvm.minimum.f32(float %nnorm.or.nan, float %select) 
# | next:1770'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            927:  ret float %result 
# | next:1770'0     ~~~~~~~~~~~~~~~~~~~
# | next:1770'2      ?                  possible intended match
# |            928: } 
# | next:1770'0     ~~
# |            929:  
# | next:1770'0     ~
# |            930: define nofpclass(snan) float @select_is_positive_or_0__minimum__negative(float noundef %arg) { 
# | next:1770'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            931:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            932:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            933:  %negative = call float @returns_negative() 
# | next:1782        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            934:  %result = call float @llvm.minimum.f32(float %select, float %negative) 
# |            935:  ret float %result 
# |            936: } 
# |            937:  
# |            938: define nofpclass(snan) float @negative__minimum__select_is_positive_or_0(float noundef %arg) { 
# |            939:  %negative = call float @returns_negative() 
# | next:1796'0                                                X error: no match found
# | next:1796'1                                                  with "NEGATIVE" equal to "%negative"
# |            940:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# | next:1796'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            941:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1796'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            942:  %result = call float @llvm.minimum.f32(float %negative, float %select) 
# | next:1796'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            943:  ret float %result 
# | next:1796'0     ~~~~~~~~~~~~~~~~~~~
# | next:1796'2      ?                  possible intended match
# |            944: } 
# | next:1796'0     ~~
# |            945:  
# | next:1796'0     ~
# |            946: define nofpclass(snan) float @select_is_positive_or_0__minimum__negative_or_zero(float noundef %arg) { 
# | next:1796'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            947:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            948:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            949:  %negative.or.zero = call float @returns_negative_or_zero() 
# | next:1811'0                                                                X error: no match found
# | next:1811'1                                                                  with "SELECT" equal to "%select"
# | next:1811'2                                                                  with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |            950:  %result = call float @llvm.minimum.f32(float %select, float %negative.or.zero) 
# | next:1811'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1811'3       ?                                                                              possible intended match
# |            951:  ret float %result 
# | next:1811'0     ~~~~~~~~~~~~~~~~~~~
# |            952: } 
# | next:1811'0     ~~
# |            953:  
# | next:1811'0     ~
# |            954: define nofpclass(snan) float @negative_or_zero__minimum__select_is_positive_or_0(float noundef %arg) { 
# | next:1811'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            955:  %negative.or.zero = call float @returns_negative_or_zero() 
# |            956:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            957:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1827'0                                                                         X error: no match found
# | next:1827'1                                                                           with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# | next:1827'2                                                                           with "SELECT" equal to "%select"
# |            958:  %result = call float @llvm.minimum.f32(float %negative.or.zero, float %select) 
# | next:1827'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1827'3      ?                                                                               possible intended match
# |            959:  ret float %result 
# | next:1827'0     ~~~~~~~~~~~~~~~~~~~
# |            960: } 
# | next:1827'0     ~~
# |            961:  
# | next:1827'0     ~
# |            962: define nofpclass(snan) float @negative_or_zero__minimum__positive() { 
# | next:1827'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            963:  %neg.nonzero = call float @returns_negative_nonzero() 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass-minimumnum.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.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\simplify-demanded-fpclass-minimumnum.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1732:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[NNORM:%.*]] = call float @returns_nnorm()
# |               ^
# | <stdin>:904:2: note: 'next' match was here
# |  %nnorm = call float @returns_nnorm()
# |  ^
# | <stdin>:901:97: note: previous match ended here
# | define nofpclass(snan) float @select_is_positive_or_0__minimumnum__nnorm_0(float noundef %arg) {
# |                                                                                                 ^
# | <stdin>:902:1: note: non-matching line after previous match is here
# |  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1746:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[NNORM]]
# |               ^
# | <stdin>:910:38: note: scanning from here
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:910:38: note: with "NNORM" equal to "%nnorm"
# |  %nnorm = call float @returns_nnorm()
# |                                      ^
# | <stdin>:914:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1790:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[NEGATIVE:%.*]] = call float @returns_negative()
# |               ^
# | <stdin>:936:2: note: 'next' match was here
# |  %negative = call float @returns_negative()
# |  ^
# | <stdin>:933:98: note: previous match ended here
# | define nofpclass(snan) float @select_is_positive_or_0__minimumnum__negative(float noundef %arg) {
# |                                                                                                  ^
# | <stdin>:934:1: note: non-matching line after previous match is here
# |  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1804:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float [[NEGATIVE]]
# |               ^
# | <stdin>:942:44: note: scanning from here
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:942:44: note: with "NEGATIVE" equal to "%negative"
# |  %negative = call float @returns_negative()
# |                                            ^
# | <stdin>:946:2: note: possible intended match here
# |  ret float %result
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1819:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.minimumnum.f32(float [[SELECT]], float [[NEGATIVE_OR_ZERO]])
# |               ^
# | <stdin>:952:60: note: scanning from here
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:952:60: note: with "SELECT" equal to "%select"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:952:60: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %negative.or.zero = call float @returns_negative_or_zero()
# |                                                            ^
# | <stdin>:953:3: note: possible intended match here
# |  %result = call float @llvm.minimumnum.f32(float %select, float %negative.or.zero)
# |   ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll:1835:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[RESULT:%.*]] = call nnan float @llvm.minimumnum.f32(float [[NEGATIVE_OR_ZERO]], float [[SELECT]])
# |               ^
# | <stdin>:960:69: note: scanning from here
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:960:69: note: with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:960:69: note: with "SELECT" equal to "%select"
# |  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00
# |                                                                     ^
# | <stdin>:961:2: note: possible intended match here
# |  %result = call float @llvm.minimumnum.f32(float %negative.or.zero, float %select)
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass-minimumnum.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            899: } 
# |            900:  
# |            901: define nofpclass(snan) float @select_is_positive_or_0__minimumnum__nnorm_0(float noundef %arg) { 
# |            902:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            903:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            904:  %nnorm = call float @returns_nnorm() 
# | next:1732        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            905:  %result = call float @llvm.minimumnum.f32(float %select, float %nnorm) 
# |            906:  ret float %result 
# |            907: } 
# |            908:  
# |            909: define nofpclass(snan) float @select_is_positive_or_0__minimumnum__nnorm_1(float noundef %arg) { 
# |            910:  %nnorm = call float @returns_nnorm() 
# | next:1746'0                                          X error: no match found
# | next:1746'1                                            with "NNORM" equal to "%nnorm"
# |            911:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            912:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            913:  %result = call float @llvm.minimumnum.f32(float %nnorm, float %select) 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            914:  ret float %result 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~
# | next:1746'2      ?                  possible intended match
# |            915: } 
# | next:1746'0     ~~
# |            916:  
# | next:1746'0     ~
# |            917: define nofpclass(snan) float @select_is_positive_or_0__minimumnum__nnorm_or_nan_0(float noundef %arg) { 
# | next:1746'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            918:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            919:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |              .
# |              .
# |              .
# |            931: } 
# |            932:  
# |            933: define nofpclass(snan) float @select_is_positive_or_0__minimumnum__negative(float noundef %arg) { 
# |            934:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            935:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            936:  %negative = call float @returns_negative() 
# | next:1790        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            937:  %result = call float @llvm.minimumnum.f32(float %select, float %negative) 
# |            938:  ret float %result 
# |            939: } 
# |            940:  
# |            941: define nofpclass(snan) float @negative__minimumnum__select_is_positive_or_0(float noundef %arg) { 
# |            942:  %negative = call float @returns_negative() 
# | next:1804'0                                                X error: no match found
# | next:1804'1                                                  with "NEGATIVE" equal to "%negative"
# |            943:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# | next:1804'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            944:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1804'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            945:  %result = call float @llvm.minimumnum.f32(float %negative, float %select) 
# | next:1804'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            946:  ret float %result 
# | next:1804'0     ~~~~~~~~~~~~~~~~~~~
# | next:1804'2      ?                  possible intended match
# |            947: } 
# | next:1804'0     ~~
# |            948:  
# | next:1804'0     ~
# |            949: define nofpclass(snan) float @select_is_positive_or_0__minimumnum__negative_or_zero(float noundef %arg) { 
# | next:1804'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            950:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            951:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# |            952:  %negative.or.zero = call float @returns_negative_or_zero() 
# | next:1819'0                                                                X error: no match found
# | next:1819'1                                                                  with "SELECT" equal to "%select"
# | next:1819'2                                                                  with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# |            953:  %result = call float @llvm.minimumnum.f32(float %select, float %negative.or.zero) 
# | next:1819'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1819'3       ?                                                                                 possible intended match
# |            954:  ret float %result 
# | next:1819'0     ~~~~~~~~~~~~~~~~~~~
# |            955: } 
# | next:1819'0     ~~
# |            956:  
# | next:1819'0     ~
# |            957: define nofpclass(snan) float @negative_or_zero__minimumnum__select_is_positive_or_0(float noundef %arg) { 
# | next:1819'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            958:  %negative.or.zero = call float @returns_negative_or_zero() 
# |            959:  %is.pos.or.zero = fcmp oge float %arg, 0.000000e+00 
# |            960:  %select = select i1 %is.pos.or.zero, float %arg, float 0.000000e+00 
# | next:1835'0                                                                         X error: no match found
# | next:1835'1                                                                           with "NEGATIVE_OR_ZERO" equal to "%negative.or.zero"
# | next:1835'2                                                                           with "SELECT" equal to "%select"
# |            961:  %result = call float @llvm.minimumnum.f32(float %negative.or.zero, float %select) 
# | next:1835'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1835'3      ?                                                                                  possible intended match
# |            962:  ret float %result 
# | next:1835'0     ~~~~~~~~~~~~~~~~~~~
# |            963: } 
# | next:1835'0     ~~
# |            964:  
# | next:1835'0     ~
# |            965: define nofpclass(snan) float @negative_or_zero__minimumnum__positive() { 
# | next:1835'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            966:  %neg.nonzero = call float @returns_negative_nonzero() 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/InstCombine/simplify-demanded-fpclass.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\opt.exe -S -passes=instcombine < C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.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\simplify-demanded-fpclass.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.ll:1015:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float 0.000000e+00
# |               ^
# | <stdin>:494:125: note: scanning from here
# | define nofpclass(nan ninf nzero nsub nnorm) float @ret_nofpclass_nan_negatives__select_clamp_pos_to_zero(float noundef %x) {
# |                                                                                                                             ^
# | <stdin>:496:31: note: possible intended match here
# |  %select = select i1 %is.gt.zero, float 0.000000e+00, float %x
# |                               ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.ll:1538:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float 1.000000e+00
# |               ^
# | <stdin>:738:116: note: scanning from here
# | define nofpclass(nan) float @exp_select_must_be_0(float noundef %arg, float nofpclass(inf sub norm) %zero.or.nan) {
# |                                                                                                                    ^
# | <stdin>:739:25: note: possible intended match here
# |  %not.zero = fcmp one float %arg, 0.000000e+00
# |                         ^
# | C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.ll:1551:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ret float 1.000000e+00
# |               ^
# | <stdin>:745:124: note: scanning from here
# | define nofpclass(nan) float @exp_select_must_be_0_commute(float noundef %arg, float nofpclass(inf sub norm) %zero.or.nan) {
# |                                                                                                                            ^
# | <stdin>:746:24: note: possible intended match here
# |  %is.zero = fcmp oeq float %arg, 0.000000e+00
# |                        ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\Transforms\InstCombine\simplify-demanded-fpclass.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            489:  %is.gt.zero = fcmp ogt float %x, 0.000000e+00 
# |            490:  %select = select i1 %is.gt.zero, float 0.000000e+00, float %x 
# |            491:  ret float %select 
# |            492: } 
# |            493:  
# |            494: define nofpclass(nan ninf nzero nsub nnorm) float @ret_nofpclass_nan_negatives__select_clamp_pos_to_zero(float noundef %x) { 
# | next:1015'0                                                                                                                                 X error: no match found
# |            495:  %is.gt.zero = fcmp ogt float %x, 0.000000e+00 
# | next:1015'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            496:  %select = select i1 %is.gt.zero, float 0.000000e+00, float %x 
# | next:1015'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1015'1                                   ?                                 possible intended match
# |            497:  ret float %select 
# | next:1015'0     ~~~~~~~~~~~~~~~~~~~
# |            498: } 
# | next:1015'0     ~~
# |            499:  
# | next:1015'0     ~
# |            500: define nofpclass(nan ninf nzero nsub nnorm) float @ret_nofpclass_nan_negatives__select_clamp_pos_to_zero__maybe_undef(float %x) { 
# | next:1015'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            501:  %is.gt.zero = fcmp ogt float %x, 0.000000e+00 
# |              .
# |              .
# |              .
# |            733:  
# |            734: define nofpclass(zero) <3 x float> @partially_defined_0_splat_to_poison() { 
# |            735:  ret <3 x float> poison 
# |            736: } 
# |            737:  
# |            738: define nofpclass(nan) float @exp_select_must_be_0(float noundef %arg, float nofpclass(inf sub norm) %zero.or.nan) { 
# | next:1538'0                                                                                                                        X error: no match found
# |            739:  %not.zero = fcmp one float %arg, 0.000000e+00 
# | next:1538'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1538'1                             ?                       possible intended match
# |            740:  %select = select i1 %not.zero, float %zero.or.nan, float %arg 
# | next:1538'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            741:  %exp = call float @llvm.exp.f32(float %select) 
# | next:1538'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            742:  ret float %exp 
# | next:1538'0     ~~~~~~~~~~~~~~~~
# |            743: } 
# | next:1538'0     ~~
# |            744:  
# | next:1538'0     ~
# |            745: define nofpclass(nan) float @exp_select_must_be_0_commute(float noundef %arg, float nofpclass(inf sub norm) %zero.or.nan) { 
# | next:1538'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1551'0                                                                                                                                X error: no match found
# |            746:  %is.zero = fcmp oeq float %arg, 0.000000e+00 
# | next:1551'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:1551'1                            ?                       possible intended match
# |            747:  %select = select i1 %is.zero, float %arg, float %zero.or.nan 
# | next:1551'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            748:  %exp = call float @llvm.exp.f32(float %select) 
# | next:1551'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            749:  ret float %exp 
# | next:1551'0     ~~~~~~~~~~~~~~~~
# |            750: } 
# | next:1551'0     ~~
# |            751:  
# | next:1551'0     ~
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# 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/175382


More information about the llvm-branch-commits mailing list