[llvm] [X86][AMX] Fix use iteration when reloading tiles in FastPreTileConfig (PR #228724)

via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 3 09:42:54 PDT 2026


github-actions[bot] wrote:

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

* 143305 tests passed
* 3438 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/X86/AMX/amx-fastconfig-debug-use.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=x86_64-- -mattr=+amx-int8,avx512f -run-pass=x86-fast-pre-tile-config -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-- -mattr=+amx-int8,avx512f -run-pass=x86-fast-pre-tile-config -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir:46:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def $tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def $tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load (s512) from %stack.2, align 4)
# |                ^
# | <stdin>:108:21: note: scanning from here
# |  %1:gr16 = MOV16ri 8
# |                     ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-debug-use.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |          103:  %8:vr128x = AVX512_128_SET0 
# |          104:  %9:vr512 = SUBREG_TO_REG %8, %subreg.sub_xmm 
# |          105:  VMOVUPSZmr %stack.2, 1, $noreg, 0, $noreg, %9 :: (store (s512) into %stack.2, align 4) 
# |          106:  MOV8mi %stack.2, 1, $noreg, 0, $noreg, 1 :: (store (s512) into %stack.2, align 4) 
# |          107:  %0:gr16 = MOV16ri 32 
# |          108:  %1:gr16 = MOV16ri 8 
# | next:46'0                        {   search range start (exclusive)
# | next:46'1                            error: no match found in search range
# |          109:  PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead $tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead $tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.2, align 4) 
# |          110:  %2:tile = PTILEZEROV %1, %0 
# |          111:  %5:gr64_nosp = MOV64ri 64 
# |          112:  TILESTORED %stack.1, 1, killed %5, 0, $noreg, %2 :: (store (s8192) into %stack.1) 
# |          113:  %3:gr64_nosp = MOV32ri64 32 
# |            .
# |            .
# |            .
# |          119:  DBG_VALUE %2, $noreg, !6, !DIExpression(), debug-location !DILocation(line: 1, scope: !3) 
# |          120:  %7:gr64_nosp = MOV64ri 64 
# |          121:  %6:tile = PTILELOADDV %1, %0, %stack.1, 1, killed %7, 0, $noreg :: (load (s8192) from %stack.1) 
# |          122:  PTILESTOREDV killed %1, killed %0, killed %4, 1, killed %3, 0, $noreg, killed %6 
# |          123:  RET 0 
# |          124: ... 
# | next:46'2         } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/AMX/amx-fastconfig-spill.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=x86_64-- -mattr=+amx-int8,avx512f -run-pass=x86-fast-pre-tile-config -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-- -mattr=+amx-int8,avx512f -run-pass=x86-fast-pre-tile-config -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir:183:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def $tmm0, implicit-def $tmm1, implicit-def $tmm2, implicit-def $tmm3, implicit-def $tmm4, implicit-def $tmm5, implicit-def $tmm6, implicit-def $tmm7 :: (load (s512) from %stack.2, align 4)
# |                ^
# | <stdin>:351:21: note: scanning from here
# |  %1:gr16 = MOV16ri 8
# |                     ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\AMX\amx-fastconfig-spill.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           346:  %10:vr128x = AVX512_128_SET0 
# |           347:  %11:vr512 = SUBREG_TO_REG %10, %subreg.sub_xmm 
# |           348:  VMOVUPSZmr %stack.2, 1, $noreg, 0, $noreg, %11 :: (store (s512) into %stack.2, align 4) 
# |           349:  MOV8mi %stack.2, 1, $noreg, 0, $noreg, 1 :: (store (s512) into %stack.2, align 4) 
# |           350:  %0:gr16 = MOV16ri 32 
# |           351:  %1:gr16 = MOV16ri 8 
# | next:183'0                        {   search range start (exclusive)
# | next:183'1                            error: no match found in search range
# |           352:  PLDTILECFGV %stack.2, 1, $noreg, 0, $noreg, implicit-def dead $tmm0, implicit-def dead $tmm1, implicit-def dead $tmm2, implicit-def dead $tmm3, implicit-def dead $tmm4, implicit-def dead $tmm5, implicit-def dead $tmm6, implicit-def dead $tmm7 :: (load (s512) from %stack.2, align 4) 
# |           353:  %2:tile = PTILEZEROV %1, %0 
# |           354:  %5:gr64_nosp = MOV64ri 64 
# |           355:  TILESTORED %stack.1, 1, killed %5, 0, $noreg, %2 :: (store (s8192) into %stack.1) 
# |           356:  %3:gr64_nosp = MOV32ri64 32 
# |             .
# |             .
# |             .
# |           364:  PTILESTOREDV %1, %0, %4, 1, %3, 0, $noreg, %6 
# |           365:  %9:gr64_nosp = MOV64ri 64 
# |           366:  %8:tile = PTILELOADDV %1, %0, %stack.1, 1, killed %9, 0, $noreg :: (load (s8192) from %stack.1) 
# |           367:  PTILESTOREDV killed %1, killed %0, killed %4, 1, killed %3, 0, $noreg, killed %8 
# |           368:  RET 0 
# |           369: ... 
# | next:183'2         } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/228724


More information about the llvm-commits mailing list