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

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU][MC][GFX11] s_waitcnt_*cnt opcodes require src0=null
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            mc
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            dpreobra
      </td>
    </tr>

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

<pre>
    AFAIK, these opcodes require src0=null, but assembler currently accepts any `SGPR` for src0.

An example of failed test:

    s_waitcnt_expcnt s1, 0x3141

Expected output:

    An error.

Actual result:

    s_waitcnt_expcnt s1, 0x3141             ; encoding: [0x41,0x31,0x01,0xbd]

Is this a bug? Added @Sisyph and @jayfoad for awareness.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUl2L2zAQ_DXyi2iQ5cg-P_jBuTThKAdHj0LfDllax7oqtquPXvLvu3JyXAqlUGE8u9Z6Z2ekbtLnpt21D18Iv6dhAA90mtWkwVMHP6NxQL1TjBTbMVqbiroYqPQejp0FR1V0DsZgz1QqBXPwVI5nSkr2vH_6ikD7yS0dVoRtCWsv73akcJLH2SJbT3tpLGgawAdStLd1FJd_eZMmqDG8wGlGoD5PY7BTka_z2-LPpxlUwEZTDHP8W6tE69zk_pxFhSgtqvXR_jc_vV2k2FAY0TwzHrARJWLDTutUnYoXYBfoNBHbW6IHj-YbNA_txX93tNUalZA1ezb-PA_o6pK9ynM_Sb24Kt8kWg_eX-Vk0OSluKtKVtV3mW4KXRe1zIIJFhqcpX3c7p--JWKxeby_4H73Pc8xvFFJeJtU_uMWZNHZZghh9skuvsPnYMIQu5WajphY--sdPs1uesVTwdR4H8FjIMoqZ9nQ1Kqq1iXjFSvLWvTQ87ys-5qzUksBXGdWdmB9Gp1w3kn1A0aNjFcdnKdjQDiqFIttZhrOOGcVF_laFHm1qqQsOgyrTqxF3eVoIBzxsq3SaKvJHTLXLFOi6R43rfHBf2ziLTeHEeA6gZ4dTJ2TVzYZwzC55v1rtuhrFnG_AY90AEU">