[llvm] [GlobalISel] Support fixed vectors in constant-fold combines. (PR #220876)

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 00:29:06 PDT 2026


github-actions[bot] wrote:

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

* 142877 tests passed
* 3384 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/GlobalISel/fsub.bf16.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -global-isel=1 -mtriple=amdgpu12.50 -amdgpu-enable-delay-alu=0 -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefix=GFX1250 C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -global-isel=1 -mtriple=amdgpu12.50 -amdgpu-enable-delay-alu=0 -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefix=GFX1250 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll:53:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: v_pk_add_bf16 v0, v0, 2.0 op_sel:[0,1] neg_lo:[0,1] neg_hi:[0,1]
# |                 ^
# | <stdin>:217:48: note: scanning from here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |                                                ^
# | <stdin>:218:2: note: possible intended match here
# |  v_pk_add_bf16 v0, v0, -2.0 op_sel:[0,1]
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll:66:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: v_pk_add_bf16 v0, 0x42c83f80, v0 neg_lo:[1,0] neg_hi:[1,0]
# |                 ^
# | <stdin>:281:48: note: scanning from here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |                                                ^
# | <stdin>:282:2: note: possible intended match here
# |  v_pk_add_bf16 v0, 0xc2c8bf80, v0
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\GlobalISel\fsub.bf16.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |          212: fsub_v2bf16_vc: ; @fsub_v2bf16_vc 
# |          213: ; %bb.0: 
# |          214:  s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1 ; msbs: dst=0 src0=0 src1=0 src2=0 
# |          215:  s_mov_b64 s[64:65], 0 
# |          216:  v_nop 
# |          217:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:53'0                                                   {   search range start (exclusive)
# | next:53'1                                                       error: no match found in search range
# |          218:  v_pk_add_bf16 v0, v0, -2.0 op_sel:[0,1] 
# | next:53'2      ?                                         possible intended match
# |          219:  ; return to shader part epilog 
# |          220: .Lfunc_end3: 
# |          221:  .size fsub_v2bf16_vc, .Lfunc_end3-fsub_v2bf16_vc 
# |          222:  ; -- End function 
# |          223:  .set .Lfsub_v2bf16_vc.num_vgpr, 1 
# |            .
# |            .
# |            .
# |          271:  .long 0 
# |          272:  .text 
# |          273:  .globl fsub_v2bf16_vl ; -- Begin function fsub_v2bf16_vl 
# |          274:  .p2align 8 
# |          275:  .type fsub_v2bf16_vl, at function 
# |          276: fsub_v2bf16_vl: ; @fsub_v2bf16_vl 
# | next:53'3                    }                    search range end (exclusive)
# |          277: ; %bb.0: 
# |          278:  s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1 ; msbs: dst=0 src0=0 src1=0 src2=0 
# |          279:  s_mov_b64 s[64:65], 0 
# |          280:  v_nop 
# |          281:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:66'0                                                   {   search range start (exclusive)
# | next:66'1                                                       error: no match found in search range
# |          282:  v_pk_add_bf16 v0, 0xc2c8bf80, v0 
# | next:66'2      ?                                  possible intended match
# |          283:  ; return to shader part epilog 
# |          284: .Lfunc_end4: 
# |          285:  .size fsub_v2bf16_vl, .Lfunc_end4-fsub_v2bf16_vl 
# |          286:  ; -- End function 
# |          287:  .set .Lfsub_v2bf16_vl.num_vgpr, 1 
# |            .
# |            .
# |            .
# |          335:  .long 0 
# |          336:  .text 
# |          337:  .globl fsub_v4bf16_vv ; -- Begin function fsub_v4bf16_vv 
# |          338:  .p2align 8 
# |          339:  .type fsub_v4bf16_vv, at function 
# |          340: fsub_v4bf16_vv: ; @fsub_v4bf16_vv 
# | next:66'3                    }                    search range end (exclusive)
# |          341: ; %bb.0: 
# |          342:  s_setreg_imm32_b32 hwreg(HW_REG_WAVE_MODE, 25, 1), 1 ; msbs: dst=0 src0=0 src1=0 src2=0 
# |          343:  s_mov_b64 s[64:65], 0 
# |          344:  v_nop 
# |          345:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# 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/220876


More information about the llvm-commits mailing list