[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