[llvm-branch-commits] [llvm] [AMDGPU][DAGCombiner][GlobalISel] Extend allMulUsesCanBeContracted with FPEXT pattern (PR #188116)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Mar 23 13:46:13 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 171661 tests passed
* 3068 tests skipped
* 3 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -passes=amdgpu-simplifylib,instcombine -amdgpu-prelink < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -amdgpu-prelink | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -passes=amdgpu-simplifylib,instcombine -amdgpu-prelink
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -amdgpu-prelink
# 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/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:37:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: s_add_u32 s16, s16, _Z3powff at rel32@lo+4
# | ^
# | <stdin>:41:22: note: scanning from here
# | s_getpc_b64 s[16:17]
# | ^
# | <stdin>:42:2: note: possible intended match here
# | s_add_u32 s16, s16, _Z10__pow_fastff at gotpcrel32@lo+4
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:70:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_or_b32_e32 v0, v0, v1
# | ^
# | <stdin>:114:26: note: scanning from here
# | v_and_b32_e32 v0, v2, v0
# | ^
# | <stdin>:115:2: note: possible intended match here
# | v_or_b32_e32 v0, v1, v0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:179:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_or_b32_e32 v1, v2, v1
# | ^
# | <stdin>:259:73: note: scanning from here
# | buffer_load_dword v40, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
# | ^
# | <stdin>:260:2: note: possible intended match here
# | v_or_b32_e32 v1, v1, v2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:356:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_or_b32_e32 v0, v0, v2
# | ^
# | <stdin>:503:22: note: scanning from here
# | v_exp_f16_e32 v2, v2
# | ^
# | <stdin>:504:2: note: possible intended match here
# | v_or_b32_e32 v0, v2, v0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:461:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_or_b32_e32 v1, v2, v1
# | ^
# | <stdin>:646:73: note: scanning from here
# | buffer_load_dword v40, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
# | ^
# | <stdin>:647:2: note: possible intended match here
# | v_or_b32_e32 v1, v1, v2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll:684:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_writelane_b32 v43, s16, 14
# | ^
# | <stdin>:978:26: note: scanning from here
# | s_mov_b64 exec, s[18:19]
# | ^
# | <stdin>:979:2: note: possible intended match here
# | v_writelane_b32 v43, s16, 15
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 36: .p2align 6
# | 37: .type test_pow_fast_f32, at function
# | 38: test_pow_fast_f32: ; @test_pow_fast_f32
# | 39: ; %bb.0:
# | 40: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# | 41: s_getpc_b64 s[16:17]
# | next:37'0 X error: no match found
# | 42: s_add_u32 s16, s16, _Z10__pow_fastff at gotpcrel32@lo+4
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:37'1 ? possible intended match
# | 43: s_addc_u32 s17, s17, _Z10__pow_fastff at gotpcrel32@hi+12
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 44: s_load_dwordx2 s[16:17], s[16:17], 0x0
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 45: s_waitcnt lgkmcnt(0)
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 46: s_setpc_b64 s[16:17]
# | next:37'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 47: .Lfunc_end1:
# | next:37'0 ~~~~~~~~~~~~~
# | .
# | .
# | .
# | 109: v_trunc_f16_e32 v1, v1
# | 110: v_mul_f16_e32 v1, v3, v1
# | 111: v_exp_f16_e32 v1, v1
# | 112: v_cvt_i32_f32_e32 v2, v2
# | 113: v_lshlrev_b16_e32 v2, 15, v2
# | 114: v_and_b32_e32 v0, v2, v0
# | next:70'0 X error: no match found
# | 115: v_or_b32_e32 v0, v1, v0
# | next:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:70'1 ? possible intended match
# | 116: s_setpc_b64 s[30:31]
# | next:70'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 117: .Lfunc_end3:
# | next:70'0 ~~~~~~~~~~~~~
# | 118: .size test_pow_fast_f16__integral_y, .Lfunc_end3-test_pow_fast_f16__integral_y
# | next:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 119: ; -- End function
# | next:70'0 ~~~~~~~~~~~~~~~~~~~
# | 120: .set test_pow_fast_f16__integral_y.num_vgpr, 4
# | next:70'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 254: s_swappc_b64 s[30:31], s[16:17]
# | 255: v_lshlrev_b32_e32 v2, 31, v41
# | 256: v_and_b32_e32 v2, v2, v42
# | 257: buffer_load_dword v42, off, s[0:3], s33 ; 4-byte Folded Reload
# | 258: buffer_load_dword v41, off, s[0:3], s33 offset:4 ; 4-byte Folded Reload
# | 259: buffer_load_dword v40, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
# | next:179'0 X error: no match found
# | 260: v_or_b32_e32 v1, v1, v2
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:179'1 ? possible intended match
# | 261: v_readlane_b32 s53, v43, 13
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 262: v_readlane_b32 s52, v43, 12
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 263: v_readlane_b32 s51, v43, 11
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 264: v_readlane_b32 s50, v43, 10
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 265: v_readlane_b32 s49, v43, 9
# | next:179'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 498: v_log_f16_e64 v3, |v0|
# | 499: v_lshlrev_b16_e32 v1, 15, v1
# | 500: v_and_b32_e32 v0, v1, v0
# | 501: v_cvt_f16_f32_e32 v2, v2
# | 502: v_mul_f16_e32 v2, v3, v2
# | 503: v_exp_f16_e32 v2, v2
# | next:356'0 X error: no match found
# | 504: v_or_b32_e32 v0, v2, v0
# | next:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:356'1 ? possible intended match
# | 505: s_setpc_b64 s[30:31]
# | next:356'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 506: .Lfunc_end9:
# | next:356'0 ~~~~~~~~~~~~~
# | 507: .size test_pown_fast_f16, .Lfunc_end9-test_pown_fast_f16
# | next:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 508: ; -- End function
# | next:356'0 ~~~~~~~~~~~~~~~~~~~
# | 509: .set test_pown_fast_f16.num_vgpr, 4
# | next:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 641: s_swappc_b64 s[30:31], s[16:17]
# | 642: v_lshlrev_b32_e32 v2, 31, v41
# | 643: v_and_b32_e32 v2, v2, v42
# | 644: buffer_load_dword v42, off, s[0:3], s33 ; 4-byte Folded Reload
# | 645: buffer_load_dword v41, off, s[0:3], s33 offset:4 ; 4-byte Folded Reload
# | 646: buffer_load_dword v40, off, s[0:3], s33 offset:8 ; 4-byte Folded Reload
# | next:461'0 X error: no match found
# | 647: v_or_b32_e32 v1, v1, v2
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:461'1 ? possible intended match
# | 648: v_readlane_b32 s53, v43, 13
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 649: v_readlane_b32 s52, v43, 12
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 650: v_readlane_b32 s51, v43, 11
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 651: v_readlane_b32 s50, v43, 10
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 652: v_readlane_b32 s49, v43, 9
# | next:461'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 973: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# | 974: s_mov_b32 s16, s33
# | 975: s_mov_b32 s33, s32
# | 976: s_or_saveexec_b64 s[18:19], -1
# | 977: buffer_store_dword v43, off, s[0:3], s33 offset:12 ; 4-byte Folded Spill
# | 978: s_mov_b64 exec, s[18:19]
# | next:684'0 X error: no match found
# | 979: v_writelane_b32 v43, s16, 15
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:684'1 ? possible intended match
# | 980: v_writelane_b32 v43, s30, 0
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 981: v_writelane_b32 v43, s31, 1
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 982: v_writelane_b32 v43, s34, 2
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 983: v_writelane_b32 v43, s35, 3
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 984: v_writelane_b32 v43, s36, 4
# | next:684'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/fma-aggr-FMF.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/PowerPC/fma-aggr-FMF.ll -verify-machineinstrs -mtriple=powerpc64le-linux-gnu | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-aggr-FMF.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -verify-machineinstrs -mtriple=powerpc64le-linux-gnu
# 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/PowerPC/fma-aggr-FMF.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-aggr-FMF.ll:25:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: xsmulsp 3, 3, 4
# | ^
# | <stdin>:28:9: note: scanning from here
# | # %bb.0:
# | ^
# | <stdin>:30:2: note: possible intended match here
# | xsmulsp 1, 3, 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-aggr-FMF.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 23: .p2align 4
# | 24: .type no_fma_with_fewer_uses, at function
# | 25: no_fma_with_fewer_uses: # @no_fma_with_fewer_uses
# | 26: .Lfunc_begin1:
# | 27: .cfi_startproc
# | 28: # %bb.0:
# | next:25'0 X error: no match found
# | 29: xsmulsp 0, 1, 2
# | next:25'0 ~~~~~~~~~~~~~~~~~
# | 30: xsmulsp 1, 3, 4
# | next:25'0 ~~~~~~~~~~~~~~~~~
# | next:25'1 ? possible intended match
# | 31: xsaddsp 1, 0, 1
# | next:25'0 ~~~~~~~~~~~~~~~~~
# | 32: xsdivsp 1, 0, 1
# | next:25'0 ~~~~~~~~~~~~~~~~~
# | 33: blr
# | next:25'0 ~~~~~
# | 34: .long 0
# | next:25'0 ~~~~~~~~~
# | 35: .quad 0
# | next:25'0 ~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/fma-precision.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/PowerPC/fma-precision.ll -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc64le-linux-gnu | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-precision.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -verify-machineinstrs -mcpu=pwr9 -mtriple=powerpc64le-linux-gnu
# 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/PowerPC/fma-precision.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-precision.ll:104:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: xsmuldp 1, 1, 2
# | ^
# | <stdin>:115:9: note: scanning from here
# | # %bb.0:
# | ^
# | <stdin>:116:2: note: possible intended match here
# | xsmuldp 0, 1, 2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-precision.ll:123:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: xsmuldp 5, 1, 2
# | ^
# | <stdin>:135:9: note: scanning from here
# | # %bb.0:
# | ^
# | <stdin>:136:2: note: possible intended match here
# | xsmuldp 0, 1, 2
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/PowerPC/fma-precision.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 110: .p2align 4
# | 111: .type fma_multi_uses1, at function
# | 112: fma_multi_uses1: # @fma_multi_uses1
# | 113: .Lfunc_begin6:
# | 114: .cfi_startproc
# | 115: # %bb.0:
# | next:104'0 X error: no match found
# | 116: xsmuldp 0, 1, 2
# | next:104'0 ~~~~~~~~~~~~~~~~~
# | next:104'1 ? possible intended match
# | 117: xsmuldp 1, 3, 4
# | next:104'0 ~~~~~~~~~~~~~~~~~
# | 118: stfd 0, 0(7)
# | next:104'0 ~~~~~~~~~~~~~~
# | 119: stfd 0, 0(8)
# | next:104'0 ~~~~~~~~~~~~~~
# | 120: stfd 1, 0(9)
# | next:104'0 ~~~~~~~~~~~~~~
# | 121: xssubdp 1, 0, 1
# | next:104'0 ~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 130: .p2align 4
# | next:104'0 ~~~~~~~~~~~~
# | 131: .type fma_multi_uses2, at function
# | next:104'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 132: fma_multi_uses2: # @fma_multi_uses2
# | next:104'0 ~~~~~~~~~~~~~~~~
# | 133: .Lfunc_begin7:
# | 134: .cfi_startproc
# | 135: # %bb.0:
# | next:123'0 X error: no match found
# | 136: xsmuldp 0, 1, 2
# | next:123'0 ~~~~~~~~~~~~~~~~~
# | next:123'1 ? possible intended match
# | 137: xsmuldp 1, 3, 4
# | next:123'0 ~~~~~~~~~~~~~~~~~
# | 138: stfd 0, 0(7)
# | next:123'0 ~~~~~~~~~~~~~~
# | 139: stfd 1, 0(8)
# | next:123'0 ~~~~~~~~~~~~~~
# | 140: stfd 1, 0(9)
# | next:123'0 ~~~~~~~~~~~~~~
# | 141: xssubdp 1, 0, 1
# | next:123'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/188116
More information about the llvm-branch-commits
mailing list