[llvm] expandFMINIMUM_FMAXIMUM: FMAXNUM/FMINNUM treat +0>-0 (PR #137367)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 3 19:18:29 PST 2025
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 166727 tests passed
* 2909 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/NVPTX/math-intrins.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll --check-prefixes=CHECK,CHECK-NOF16
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc
# 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/CodeGen/NVPTX/math-intrins.ll --check-prefixes=CHECK,CHECK-NOF16
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:685:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<5>;
# | ^
# | <stdin>:531:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:532:2: note: possible intended match here
# | .reg .b32 %r<5>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:725:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<4>;
# | ^
# | <stdin>:549:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:550:2: note: possible intended match here
# | .reg .b32 %r<4>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:762:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<4>;
# | ^
# | <stdin>:566:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:567:2: note: possible intended match here
# | .reg .b32 %r<4>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:799:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<5>;
# | ^
# | <stdin>:584:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:585:2: note: possible intended match here
# | .reg .b32 %r<5>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:839:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: .reg .b64 %fd<5>;
# | ^
# | <stdin>:603:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:604:2: note: possible intended match here
# | .reg .b64 %rd<5>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:1190:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<4>;
# | ^
# | <stdin>:815:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:816:2: note: possible intended match here
# | .reg .b32 %r<4>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:1227:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<4>;
# | ^
# | <stdin>:832:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:833:2: note: possible intended match here
# | .reg .b32 %r<4>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:1264:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<5>;
# | ^
# | <stdin>:850:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:851:2: note: possible intended match here
# | .reg .b32 %r<5>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:1304:21: error: CHECK-NOF16-NEXT: expected string not found in input
# | ; CHECK-NOF16-NEXT: .reg .b32 %f<5>;
# | ^
# | <stdin>:869:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:870:2: note: possible intended match here
# | .reg .b32 %r<5>;
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll:1344:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: .reg .b64 %fd<5>;
# | ^
# | <stdin>:888:19: note: scanning from here
# | .reg .pred %p<2>;
# | ^
# | <stdin>:889:2: note: possible intended match here
# | .reg .b64 %rd<5>;
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/NVPTX/math-intrins.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 526: .visible .func (.param .b32 func_retval0) minimum_float(
# | 527: .param .b32 minimum_float_param_0,
# | 528: .param .b32 minimum_float_param_1
# | 529: ) // @minimum_float
# | 530: {
# | 531: .reg .pred %p<2>;
# | next:685'0 X error: no match found
# | 532: .reg .b32 %r<5>;
# | next:685'0 ~~~~~~~~~~~~~~~~~~
# | next:685'1 ? possible intended match
# | 533:
# | next:685'0 ~
# | 534: // %bb.0:
# | next:685'0 ~~~~~~~~~~
# | 535: ld.param.b32 %r1, [minimum_float_param_0];
# | next:685'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 536: ld.param.b32 %r2, [minimum_float_param_1];
# | next:685'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 537: setp.nan.f32 %p1, %r1, %r2;
# | next:685'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 544: // .globl minimum_imm1 // -- Begin function minimum_imm1
# | next:685'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 545: .visible .func (.param .b32 func_retval0) minimum_imm1(
# | next:685'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 546: .param .b32 minimum_imm1_param_0
# | 547: ) // @minimum_imm1
# | 548: {
# | 549: .reg .pred %p<2>;
# | next:725'0 X error: no match found
# | 550: .reg .b32 %r<4>;
# | next:725'0 ~~~~~~~~~~~~~~~~~~
# | next:725'1 ? possible intended match
# | 551:
# | next:725'0 ~
# | 552: // %bb.0:
# | next:725'0 ~~~~~~~~~~
# | 553: ld.param.b32 %r1, [minimum_imm1_param_0];
# | next:725'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 554: setp.nan.f32 %p1, %r1, %r1;
# | next:725'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 555: min.f32 %r2, %r1, 0f00000000;
# | next:725'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 561: // .globl minimum_imm2 // -- Begin function minimum_imm2
# | next:725'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 562: .visible .func (.param .b32 func_retval0) minimum_imm2(
# | next:725'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 563: .param .b32 minimum_imm2_param_0
# | 564: ) // @minimum_imm2
# | 565: {
# | 566: .reg .pred %p<2>;
# | next:762'0 X error: no match found
# | 567: .reg .b32 %r<4>;
# | next:762'0 ~~~~~~~~~~~~~~~~~~
# | next:762'1 ? possible intended match
# | 568:
# | next:762'0 ~
# | 569: // %bb.0:
# | next:762'0 ~~~~~~~~~~
# | 570: ld.param.b32 %r1, [minimum_imm2_param_0];
# | next:762'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 571: setp.nan.f32 %p1, %r1, %r1;
# | next:762'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 572: min.f32 %r2, %r1, 0f00000000;
# | next:762'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 579: .visible .func (.param .b32 func_retval0) minimum_float_ftz(
# | next:762'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 580: .param .b32 minimum_float_ftz_param_0,
# | 581: .param .b32 minimum_float_ftz_param_1
# | 582: ) // @minimum_float_ftz
# | 583: {
# | 584: .reg .pred %p<2>;
# | next:799'0 X error: no match found
# | 585: .reg .b32 %r<5>;
# | next:799'0 ~~~~~~~~~~~~~~~~~~
# | next:799'1 ? possible intended match
# | 586:
# | next:799'0 ~
# | 587: // %bb.0:
# | next:799'0 ~~~~~~~~~~
# | 588: ld.param.b32 %r1, [minimum_float_ftz_param_0];
# | next:799'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 589: ld.param.b32 %r2, [minimum_float_ftz_param_1];
# | next:799'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 590: setp.nan.ftz.f32 %p1, %r1, %r2;
# | next:799'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 598: .visible .func (.param .b64 func_retval0) minimum_double(
# | next:799'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 599: .param .b64 minimum_double_param_0,
# | 600: .param .b64 minimum_double_param_1
# | 601: ) // @minimum_double
# | 602: {
# | 603: .reg .pred %p<2>;
# | next:839'0 X error: no match found
# | 604: .reg .b64 %rd<5>;
# | next:839'0 ~~~~~~~~~~~~~~~~~~~
# | next:839'1 ? possible intended match
# | 605:
# | next:839'0 ~
# | 606: // %bb.0:
# | next:839'0 ~~~~~~~~~~
# | 607: ld.param.b64 %rd1, [minimum_double_param_0];
# | next:839'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 608: ld.param.b64 %rd2, [minimum_double_param_1];
# | next:839'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 609: setp.nan.f64 %p1, %rd1, %rd2;
# | next:839'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 810: // .globl maximum_imm1 // -- Begin function maximum_imm1
# | 811: .visible .func (.param .b32 func_retval0) maximum_imm1(
# | 812: .param .b32 maximum_imm1_param_0
# | 813: ) // @maximum_imm1
# | 814: {
# | 815: .reg .pred %p<2>;
# | next:1190'0 X error: no match found
# | 816: .reg .b32 %r<4>;
# | next:1190'0 ~~~~~~~~~~~~~~~~~~
# | next:1190'1 ? possible intended match
# | 817:
# | next:1190'0 ~
# | 818: // %bb.0:
# | next:1190'0 ~~~~~~~~~~
# | 819: ld.param.b32 %r1, [maximum_imm1_param_0];
# | next:1190'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 820: setp.nan.f32 %p1, %r1, %r1;
# | next:1190'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 821: max.f32 %r2, %r1, 0f00000000;
# | next:1190'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 827: // .globl maximum_imm2 // -- Begin function maximum_imm2
# | next:1190'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 828: .visible .func (.param .b32 func_retval0) maximum_imm2(
# | next:1190'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 829: .param .b32 maximum_imm2_param_0
# | 830: ) // @maximum_imm2
# | 831: {
# | 832: .reg .pred %p<2>;
# | next:1227'0 X error: no match found
# | 833: .reg .b32 %r<4>;
# | next:1227'0 ~~~~~~~~~~~~~~~~~~
# | next:1227'1 ? possible intended match
# | 834:
# | next:1227'0 ~
# | 835: // %bb.0:
# | next:1227'0 ~~~~~~~~~~
# | 836: ld.param.b32 %r1, [maximum_imm2_param_0];
# | next:1227'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 837: setp.nan.f32 %p1, %r1, %r1;
# | next:1227'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 838: max.f32 %r2, %r1, 0f00000000;
# | next:1227'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 845: .visible .func (.param .b32 func_retval0) maximum_float(
# | next:1227'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 846: .param .b32 maximum_float_param_0,
# | 847: .param .b32 maximum_float_param_1
# | 848: ) // @maximum_float
# | 849: {
# | 850: .reg .pred %p<2>;
# | next:1264'0 X error: no match found
# | 851: .reg .b32 %r<5>;
# | next:1264'0 ~~~~~~~~~~~~~~~~~~
# | next:1264'1 ? possible intended match
# | 852:
# | next:1264'0 ~
# | 853: // %bb.0:
# | next:1264'0 ~~~~~~~~~~
# | 854: ld.param.b32 %r1, [maximum_float_param_0];
# | next:1264'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 855: ld.param.b32 %r2, [maximum_float_param_1];
# | next:1264'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 856: setp.nan.f32 %p1, %r1, %r2;
# | next:1264'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 864: .visible .func (.param .b32 func_retval0) maximum_float_ftz(
# | next:1264'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 865: .param .b32 maximum_float_ftz_param_0,
# | 866: .param .b32 maximum_float_ftz_param_1
# | 867: ) // @maximum_float_ftz
# | 868: {
# | 869: .reg .pred %p<2>;
# | next:1304'0 X error: no match found
# | 870: .reg .b32 %r<5>;
# | next:1304'0 ~~~~~~~~~~~~~~~~~~
# | next:1304'1 ? possible intended match
# | 871:
# | next:1304'0 ~
# | 872: // %bb.0:
# | next:1304'0 ~~~~~~~~~~
# | 873: ld.param.b32 %r1, [maximum_float_ftz_param_0];
# | next:1304'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 874: ld.param.b32 %r2, [maximum_float_ftz_param_1];
# | next:1304'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 875: setp.nan.ftz.f32 %p1, %r1, %r2;
# | next:1304'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 883: .visible .func (.param .b64 func_retval0) maximum_double(
# | next:1304'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 884: .param .b64 maximum_double_param_0,
# | 885: .param .b64 maximum_double_param_1
# | 886: ) // @maximum_double
# | 887: {
# | 888: .reg .pred %p<2>;
# | next:1344'0 X error: no match found
# | 889: .reg .b64 %rd<5>;
# | next:1344'0 ~~~~~~~~~~~~~~~~~~~
# | next:1344'1 ? possible intended match
# | 890:
# | next:1344'0 ~
# | 891: // %bb.0:
# | next:1344'0 ~~~~~~~~~~
# | 892: ld.param.b64 %rd1, [maximum_double_param_0];
# | next:1344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 893: ld.param.b64 %rd2, [maximum_double_param_1];
# | next:1344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 894: setp.nan.f64 %p1, %rd1, %rd2;
# | next:1344'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/137367
More information about the llvm-commits
mailing list