<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/78121>78121</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            AMDGPU compute functions cannot handle more than 4 SGPR arguments
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            crash-on-valid
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            jwanggit86
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          arsenm
      </td>
    </tr>
</table>

<pre>
    Any function with an argument list that uses 5 or more SGPRs asserts in implicit argument handling:

```
define void @void_func_v5i32_inreg(<5 x i32> inreg) {
  ret void
}

define void @void_func_5_i32_inreg(i32 inreg, i32 inreg, i32 inreg, i32 inreg, i32 inreg) {
  ret void
}

define void @void_func_a5i32_inreg([5 x i32] inreg) {
 ret void
}

```

Happens for both SelectionDAG and GlobalIsel:

```
    frame #4: 0x0000000100ef0634 llc`allocateFixedSGPRInputImpl(CCInfo=0x000000016fdfa678, RC=0x00000001077083f0, Reg=(Reg = 0)) at SIISelLowering.cpp:2229:3
 2226                                          const TargetRegisterClass *RC,
   2227                                        MCRegister Reg) {
 2228     Reg = CCInfo.AllocateReg(Reg);
-> 2229        assert(Reg != AMDGPU::NoRegister);
   2230   MachineFunction &MF = CCInfo.getMachineFunction();
   2231   MF.addLiveIn(Reg, RC);
 2232   }
Target 0: (llc) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = hit program assert
    frame #0: 0x000000018fe5911c libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x000000018fe90cc0 libsystem_pthread.dylib`pthread_kill + 288
    frame #2: 0x000000018fda0a40 libsystem_c.dylib`abort + 180
    frame #3: 0x000000018fd9fd30 libsystem_c.dylib`__assert_rtn + 284
  * frame #4: 0x0000000100ef0634 llc`allocateFixedSGPRInputImpl(CCInfo=0x000000016fdfa678, RC=0x00000001077083f0, Reg=(Reg = 0)) at SIISelLowering.cpp:2229:3
 frame #5: 0x0000000100e9ae4c llc`allocateSGPR64Input(CCInfo=0x000000016fdfa678, Arg=0x000000015505cf9c) at SIISelLowering.cpp:2244:5
    frame #6: 0x0000000100e9ac9c llc`llvm::SITargetLowering::allocateSpecialInputSGPRs(this=0x00000001580185e0, CCInfo=0x000000016fdfa678, MF=0x000000015505bc00, TRI=0x0000000158018330, Info=0x000000015505cef0) const at SIISelLowering.cpp:2296:5
    frame #7: 0x0000000100e9eb0c llc`llvm::SITargetLowering::LowerFormalArguments(this=0x00000001580185e0, Chain=SDValue @ 0x000000016fdfa4b0, CallConv=0, isVarArg=false, Ins=0x000000016fdfb978, D
```L=0x000000016fdfb720, DAG=0x0000000154e084f0, InVals=0x000000016fdfb858) const at SIISelLowering.cpp:2995:7
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUlk1v2zgTxz8NfSFiUEO9HnxQ7Md5DDSLIun2alDSSGJLUVqSTptvv6Be3CR22yywlzUMG-LLb2b-M6RGWCsbjbgh0S0B-PJN6KaRLo0JAIl2K3FybW82wljU3aroq-dNrp9pfdKlk72m36RrqdBUmObUoXZUSeuoa4WjJ4uWRrQ3tOsN0se7jw-WCmvROEulprIblCyl-7G3FbpSUjeE54TtCFt-YzZ_x8cKa6mRPvWyoiRk_v_o_Tk-RZLDUWqDDYGU8G1Ev1PJgfD_0Xk0oyS5nTCUGnQjZbaS7F4a_amV6PjSiuSwsLf0nz_8C_6I11FHt0vU0e6alV8aeaP09Pt_MQyoLa17Q4vetfQRFY7Z3-V3VOiK3qm-EOpgUf06c5RSWhvRISXAQ8Jzyr6z6RMwhjWLeUiVKknMhFJ9KRzu5XesfOkc9HByh25QBNLt9qDrnvDdj-1xXdUiTlKv78P21RRLEpbymo1T2BC-I5A-YEMJ31FGIPMCCUcfD4dHVB_6b2ikbtblMBCeA0BGeM7nAAAgJiyj7_uUvbaOfhKmQfeAjbQOzVYJaymB_GFLYHvWBQCS94PvtwtujOhVggEgHUlLiJNa63xWdNyQTtsIn3fd-DMyxup3Tod0UQkCT8nvd3cf__T55fkf_WL-JWOMgrORcC_KVmrcL9cEgfh-_9KbBt2bNb54L2jBRNuvRVV9kE940IvvY5pfrgfgQFh2ruhJdsp8mRFIfVlBRq3rhwGr9Vyffrwq_EThlqGcutagqHyRBt7QXyc84eg8gaTsu7UYBoXrTkh9My0lkPiFHk4NCusj5jvaSkcH0zdGdIuml-eAvT4HaY1RFgQlVbKwz9Zhd_yKRqNaV89KFiRmx-MwWT1-lUpRArc0vcINLrgZK0v2gjtjzuALLKTXwPAWXAkmwpfg8owURW_cyArSa5cAv2BldcWvs47HScOjcXp2L1yQPmv_7Zvl7H104X0mMCzfeO8dj8PR9d-7nZvm1VwUsaiss_LX7oVex-hK0uIrHpbZ4qFST910TTwepjO4kKfRcwQDllKoMYSxNyCQulba156mLEgjHBX-TZD3-4sYi5KNOz89HC6pnI9zF8xRHPRJzeYL_OcSZfFPJEouJcKCvVei8Wnfm06ofO6Nfq9OK6QmfPe4-yyUv65CRt8IFRbTSqHUttdPHjW2I_azMFOJ1EJZnFSxF0IX2ST07s27_cPlygRG8i6_e-1viCwN61n3z0JdMZJG6TuUzzJ_TJJVteFVxjOxwk2QsAgyCMN41W4wDlmUZVVdCxFiDQkP6riCWGDJgjipVnIDDEIWBBELgYXxOuY1C7O6rkQp6iAAEjLshFRrn6x1b5qVtPaEmyQNIFgpUaCyc9NciPIr6orwfH5JAvhXO0BphG1ven3zJJSs5o7abDzxpjg1loTMt8v2hw0nncLNhKFl3w0nh-dm29JSaN3PfTJObbVrhabh2F2fG2m7Ohm1aZ0brC8o2BPYN9K1p2Jd9h2B_ViA09_NYPovWDoC-zFAS2A_xvh3AAAA__8WiG6_">