[llvm] [RFC] Extend FASTCC to use up to 22 registers under APX (PR #164638)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 6 00:53:35 PDT 2026


github-actions[bot] wrote:

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

* 178370 tests passed
* 3570 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/X86/apx/fastcc.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/X86/apx/fastcc.ll -mtriple=x86_64 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll --check-prefixes=CHECK,X64
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64
# 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/X86/apx/fastcc.ll --check-prefixes=CHECK,X64
# 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/X86/apx/fastcc.ll -mtriple=x86_64 -mattr=+egpr | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll --check-prefixes=CHECK,EGPR
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64 -mattr=+egpr
# 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/X86/apx/fastcc.ll --check-prefixes=CHECK,EGPR
# 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/X86/apx/fastcc.ll -mtriple=x86_64-windows-msvc | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll --check-prefix=WIN64
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-windows-msvc
# 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/X86/apx/fastcc.ll --check-prefix=WIN64
# 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/X86/apx/fastcc.ll -mtriple=x86_64-windows-msvc -mattr=+egpr | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll --check-prefix=WINEGPR
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-windows-msvc -mattr=+egpr
# 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/X86/apx/fastcc.ll --check-prefix=WINEGPR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll:2178:17: error: WINEGPR-NEXT: expected string not found in input
# | ; WINEGPR-NEXT: movl {{[0-9]+}}(%rsp), %r30d
# |                 ^
# | <stdin>:571:22: note: scanning from here
# |  movl 56(%rsp), %r11d
# |                      ^
# | <stdin>:572:2: note: possible intended match here
# |  movl 40(%rsp), %r28d
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/fastcc.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            566:  # kill: def $r9d killed $r9d def $r9 
# |            567:  # kill: def $r8d killed $r8d def $r8 
# |            568:  # kill: def $edx killed $edx def $rdx 
# |            569:  # kill: def $ecx killed $ecx def $rcx 
# |            570:  movl 72(%rsp), %r10d 
# |            571:  movl 56(%rsp), %r11d 
# | next:2178'0                         {   search range start (exclusive)
# | next:2178'1                             error: no match found in search range
# |            572:  movl 40(%rsp), %r28d 
# | next:2178'2      ?                      possible intended match
# |            573:  leal (%rcx,%rdx), %eax 
# |            574:  leal (%r8,%r9), %ecx 
# |            575:  addl %eax, %ecx 
# |            576:  leal (%r18,%r19), %edx 
# |            577:  addl %r16d, %edx 
# |              .
# |              .
# |              .
# |            598:  .scl 2; 
# |            599:  .type 32; 
# |            600:  .endef 
# |            601:  .globl arg23_i16 # -- Begin function arg23_i16 
# |            602:  .p2align 4 
# |            603: arg23_i16: # @arg23_i16 
# | next:2178'3               }               search range end (exclusive)
# |            604: # %bb.0: 
# |            605:  # kill: def $r27w killed $r27w def $r27 
# |            606:  # kill: def $r26w killed $r26w def $r26 
# |            607:  # kill: def $r25w killed $r25w def $r25 
# |            608:  # kill: def $r24w killed $r24w def $r24 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/apx/memfold-no-physreg.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/X86/apx/memfold-no-physreg.ll -mtriple=x86_64-pc-windows-gnu -mattr=egpr,ndd,ccmp,avx512vl -verify-machineinstrs | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-pc-windows-gnu -mattr=egpr,ndd,ccmp,avx512vl -verify-machineinstrs
# 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/X86/apx/memfold-no-physreg.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll:17:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: subq $40, %rsp
# |               ^
# | <stdin>:27:12: note: scanning from here
# |  pushq %rbx
# |            ^
# | <stdin>:28:2: note: possible intended match here
# |  subq $72, %rsp
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/apx/memfold-no-physreg.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           22:  pushq %r14 
# |           23:  pushq %r13 
# |           24:  pushq %r12 
# |           25:  pushq %rsi 
# |           26:  pushq %rdi 
# |           27:  pushq %rbx 
# | next:17'0               {   search range start (exclusive)
# | next:17'1                   error: no match found in search range
# |           28:  subq $72, %rsp 
# | next:17'2      ?                possible intended match
# |           29:  leaq 64(%rsp), %rbp 
# |           30:  andq $-32, %rsp 
# |           31:  movq %rsp, %rbx 
# |           32:  movq %r27, 16(%rbx) # 8-byte Spill 
# |           33:  movq %r22, %r12 
# |            .
# |            .
# |            .
# |          198:  popq %r30 
# |          199:  popq %r31 
# |          200:  popq %rbp 
# |          201:  vzeroupper 
# |          202:  retq 
# |          203:  # -- End function 
# | next:17'3                        } 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/164638


More information about the llvm-commits mailing list