[llvm] AMDGPU/GlobalISel: RegBankLegalize rules for pk_f64 fadd, fmul and fma (PR #203559)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 12 16:51:26 PDT 2026


github-actions[bot] wrote:

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

* 135762 tests passed
* 3442 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/packed-fp64.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -global-isel=0 -mtriple=amdgcn -mcpu=gfx1251 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -enable-var-scope -check-prefixes=GFX1251,GFX1251-SDAG C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -global-isel=0 -mtriple=amdgcn -mcpu=gfx1251
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -enable-var-scope -check-prefixes=GFX1251,GFX1251-SDAG 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll'
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -global-isel=1 -new-reg-bank-select -mtriple=amdgcn -mcpu=gfx1251 < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -enable-var-scope -check-prefixes=GFX1251,GFX1251-GISEL C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -global-isel=1 -new-reg-bank-select -mtriple=amdgcn -mcpu=gfx1251
# .---command stderr------------
# | LLVM ERROR: AMDGPU RegBankLegalize: none of the rules defined with 'Any' for MI's opcode matched MI: %35:sgpr(<2 x s64>) = G_FCANONICALIZE %30:sgpr (in function: fma_vector_vector_neg_scalar_lo_scalar_hi)
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llc.exe -global-isel=1 -new-reg-bank-select -mtriple=amdgcn -mcpu=gfx1251
# | 1.	Running pass 'CallGraph Pass Manager' on module '<stdin>'.
# | 2.	Running pass 'AMDGPU Register Bank Legalize' on function '@fma_vector_vector_neg_scalar_lo_scalar_hi'
# `-----------------------------
# error: command failed with exit status: 1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -enable-var-scope -check-prefixes=GFX1251,GFX1251-GISEL 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll:2030:24: error: GFX1251-GISEL-LABEL: expected string not found in input
# | ; GFX1251-GISEL-LABEL: fma_v2_v_unfoldable_lit:
# |                        ^
# | <stdin>:2631:20: note: scanning from here
# | fma_v2_v_lit_splat: ; @fma_v2_v_lit_splat
# |                    ^
# | <stdin>:2631:24: note: possible intended match here
# | fma_v2_v_lit_splat: ; @fma_v2_v_lit_splat
# |                        ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\packed-fp64.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |            2626:  .long 0 
# |            2627:  .text 
# |            2628:  .globl fma_v2_v_lit_splat ; -- Begin function fma_v2_v_lit_splat 
# |            2629:  .p2align 8 
# |            2630:  .type fma_v2_v_lit_splat, at function 
# |            2631: fma_v2_v_lit_splat: ; @fma_v2_v_lit_splat 
# | label:2030'0                        X~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | label:2030'1                            ?                   possible intended match
# |            2632: ; %bb.0: 
# | label:2030'0     ~~~~~~~~~
# |            2633:  s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1 ; msbs: dst=0 src0=0 src1=0 src2=0 
# | label:2030'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            2634:  s_load_b64 s[8:9], s[4:5], 0x24 nv 
# | label:2030'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            2635:  v_and_b32_e32 v12, 0x3ff, v0 
# | label:2030'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            2636:  s_mov_b64 s[0:1], 4.0 
# | label:2030'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/203559


More information about the llvm-commits mailing list