[llvm] [AMDGPU] Fix s_buffer_load crash for illegal result types (PR #215483)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 17 00:18:25 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 180696 tests passed
* 3688 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.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/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu6.00 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX67,GFX6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu6.00
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX67,GFX6
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu7.01 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX67,GFX7
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu7.01
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX67,GFX7
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu8.02 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX8
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu8.02
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX8
# note: command had no output on stdout or stderr
# RUN: at line 5
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu9.00 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX910,GFX9
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu9.00
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX910,GFX9
# note: command had no output on stdout or stderr
# RUN: at line 6
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu10.10 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX910,GFX10
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu10.10
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX910,GFX10
# note: command had no output on stdout or stderr
# RUN: at line 7
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu11.00 -amdgpu-enable-vopd=0 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX11
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu11.00 -amdgpu-enable-vopd=0
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX11
# note: command had no output on stdout or stderr
# RUN: at line 8
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu12.00 -amdgpu-enable-vopd=0 | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX1200
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu12.00 -amdgpu-enable-vopd=0
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX1200
# note: command had no output on stdout or stderr
# RUN: at line 9
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll -mtriple=amdgpu12.50 -amdgpu-enable-vopd=0 -mattr=-wait-xcnt | /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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX1250
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu12.50 -amdgpu-enable-vopd=0 -mattr=-wait-xcnt
# 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/llvm.amdgcn.s.buffer.load.illegal-types.ll -check-prefixes=GFX1250
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:69:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:21:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:24:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:138:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:89:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:92:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:207:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:157:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:160:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:308:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:225:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:228:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:410:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:294:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:297:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:488:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:363:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:366:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:550:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:430:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:433:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll:607:17: error: GFX1250-NEXT: expected string not found in input
# | ; GFX1250-NEXT: global_prefetch_b8 v0, null scope:SCOPE_SE
# |                 ^
# | <stdin>:498:22: note: scanning from here
# | ; %bb.0: ; %main_body
# |                      ^
# | <stdin>:501:2: note: possible intended match here
# |  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.buffer.load.illegal-types.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            16:  .text 
# |            17:  .globl s_buffer_load_i1 ; -- Begin function s_buffer_load_i1 
# |            18:  .p2align 8 
# |            19:  .type s_buffer_load_i1, at function 
# |            20: s_buffer_load_i1: ; @s_buffer_load_i1 
# |            21: ; %bb.0: ; %main_body 
# | next:69'0                          {   search range start (exclusive)
# | next:69'1                              error: no match found in search range
# |            22:  s_mov_b64 s[64:65], 0 
# |            23:  v_nop 
# |            24:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:69'2       ?                                                possible intended match
# |            25:  s_buffer_load_b32 s0, s[0:3], 0x0 nv 
# |            26:  s_wait_kmcnt 0x0 
# |            27:  s_and_b32 s0, s0, 1 
# |            28:  s_delay_alu instid0(SALU_CYCLE_1) 
# |            29:  v_mov_b32_e32 v2, s0 
# |             .
# |             .
# |             .
# |            83:  .long 0 
# |            84:  .text 
# |            85:  .globl s_buffer_load_i4 ; -- Begin function s_buffer_load_i4 
# |            86:  .p2align 8 
# |            87:  .type s_buffer_load_i4, at function 
# |            88: s_buffer_load_i4: ; @s_buffer_load_i4 
# | next:69'3                       }                      search range end (exclusive)
# |            89: ; %bb.0: ; %main_body 
# | next:138'0                         {   search range start (exclusive)
# | next:138'1                             error: no match found in search range
# |            90:  s_mov_b64 s[64:65], 0 
# |            91:  v_nop 
# |            92:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:138'2      ?                                                possible intended match
# |            93:  s_buffer_load_b32 s0, s[0:3], 0x0 nv 
# |            94:  s_wait_kmcnt 0x0 
# |            95:  s_and_b32 s0, s0, 15 
# |            96:  s_delay_alu instid0(SALU_CYCLE_1) 
# |            97:  v_mov_b32_e32 v2, s0 
# |             .
# |             .
# |             .
# |           151:  .long 0 
# |           152:  .text 
# |           153:  .globl s_buffer_load_v2i1 ; -- Begin function s_buffer_load_v2i1 
# |           154:  .p2align 8 
# |           155:  .type s_buffer_load_v2i1, at function 
# |           156: s_buffer_load_v2i1: ; @s_buffer_load_v2i1 
# | next:138'3                        }                        search range end (exclusive)
# |           157: ; %bb.0: ; %main_body 
# | next:207'0                         {   search range start (exclusive)
# | next:207'1                             error: no match found in search range
# |           158:  s_mov_b64 s[64:65], 0 
# |           159:  v_nop 
# |           160:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:207'2      ?                                                possible intended match
# |           161:  s_buffer_load_b32 s0, s[0:3], 0x0 nv 
# |           162:  s_wait_kmcnt 0x0 
# |           163:  s_and_b32 s0, s0, 3 
# |           164:  s_delay_alu instid0(SALU_CYCLE_1) 
# |           165:  v_mov_b32_e32 v2, s0 
# |             .
# |             .
# |             .
# |           219:  .long 0 
# |           220:  .text 
# |           221:  .globl s_buffer_load_v3i16 ; -- Begin function s_buffer_load_v3i16 
# |           222:  .p2align 8 
# |           223:  .type s_buffer_load_v3i16, at function 
# |           224: s_buffer_load_v3i16: ; @s_buffer_load_v3i16 
# | next:207'3                         }                         search range end (exclusive)
# |           225: ; %bb.0: ; %main_body 
# | next:308'0                         {   search range start (exclusive)
# | next:308'1                             error: no match found in search range
# |           226:  s_mov_b64 s[64:65], 0 
# |           227:  v_nop 
# |           228:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:308'2      ?                                                possible intended match
# |           229:  s_buffer_load_b64 s[0:1], s[0:3], 0x0 nv 
# |           230:  s_wait_kmcnt 0x0 
# |           231:  v_mov_b32_e32 v2, s1 
# |           232:  v_mov_b32_e32 v3, s0 
# |           233:  s_clause 0x1 
# |             .
# |             .
# |             .
# |           288:  .long 0 
# |           289:  .text 
# |           290:  .globl s_buffer_load_v6i8 ; -- Begin function s_buffer_load_v6i8 
# |           291:  .p2align 8 
# |           292:  .type s_buffer_load_v6i8, at function 
# |           293: s_buffer_load_v6i8: ; @s_buffer_load_v6i8 
# | next:308'3                        }                        search range end (exclusive)
# |           294: ; %bb.0: ; %main_body 
# | next:410'0                         {   search range start (exclusive)
# | next:410'1                             error: no match found in search range
# |           295:  s_mov_b64 s[64:65], 0 
# |           296:  v_nop 
# |           297:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:410'2      ?                                                possible intended match
# |           298:  s_buffer_load_b64 s[0:1], s[0:3], 0x0 nv 
# |           299:  s_wait_kmcnt 0x0 
# |           300:  v_mov_b32_e32 v2, s1 
# |           301:  v_mov_b32_e32 v3, s0 
# |           302:  s_clause 0x1 
# |             .
# |             .
# |             .
# |           357:  .long 0 
# |           358:  .text 
# |           359:  .globl s_buffer_load_i128 ; -- Begin function s_buffer_load_i128 
# |           360:  .p2align 8 
# |           361:  .type s_buffer_load_i128, at function 
# |           362: s_buffer_load_i128: ; @s_buffer_load_i128 
# | next:410'3                        }                        search range end (exclusive)
# |           363: ; %bb.0: ; %main_body 
# | next:488'0                         {   search range start (exclusive)
# | next:488'1                             error: no match found in search range
# |           364:  s_mov_b64 s[64:65], 0 
# |           365:  v_nop 
# |           366:  global_prefetch_b8 v0, s[64:65] scope:SCOPE_SE 
# | next:488'2      ?                                                possible intended match
# |           367:  s_buffer_load_b128 s[0:3], s[0:3], 0x0 nv 
# |           368:  s_wait_kmcnt 0x0 
# |           369:  v_mov_b64_e32 v[4:5], s[2:3] 
# |           370:  v_mov_b64_e32 v[2:3], s[0:1] 
# |           371:  global_store_b128 v[0:1], v[2:5], off 
# |             .
# |             .
# |             .
# |           424:  .long 0 
# |           425:  .text 
# |           426:  .globl s_buffer_load_i1_divergent ; -- Begin function s_buffer_load_i1_divergent 
# |           427:  .p2align 8 
# |           428:  .type s_buffer_load_i1_divergent, at function 
# |           429: s_buffer_load_i1_divergent: ; @s_buffer_load_i1_divergent 
# | next:488'3                                }                                search range end (exclusive)
# | 
# | ...
# `---data was truncated (10240/12451) (change limit with -D output_limit=N)
# 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/215483


More information about the llvm-commits mailing list