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

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU][MC][GFX11] Invalid VOP3P.DPP encoding
        </td>
    </tr>

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

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

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

<pre>
    GFX11 SPG states that 

    When using DPP with VOP3P, the OPSEL must be set such that
    the low result only uses low inputs, and the high result only uses high inputs.

The assembler does not currently implement this requirement. Moreover, it enables `op_sel` and `op_sel_hi` modifiers with `v_fma_mix` instructions. This is weird because SPG requires hardcoded values for these modifiers. I believe they should be disabled.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxlUsmO2zAM_Rr7QtSw5Ww--JBOOsEADcbATJdbIFlMrFaWUi1J8_elnGnaooZgcX18pCisvLbbx69VBS_dFnzgAT2EgQfIyk1Wrm9_oO_LgAaiV-YIm66DiwoDfH7u6i5jD5SB8Ny9fPgIY_QBBILHAD72wwT2ByUFansBhz7qANboK4FSzWRU5hSDT3jcyCl0UMfh_9jJegsu_qb5ShncexyFRgfSUqixAfroHJpA2Wo8aRxJJnDlCfhHVG4yFLCzDu0ZXSqvAqDhhOIhW5T2tPeoSZho3Q37QSXbaKU6KHT-NhIynfeHke9H9TO5lfHBxT4oa3wBr6ksnQsqJ2lMPaeGptG_caHmuJO9lSjhzHUkw8G6NAuKu5cq4ImStcIzJtcV_GCjToAglU_E5T-DybGtFgtWzhirqly2tWzqhudBBY1tNn-_3m223adsviF593C7p60gEZ4MEVHy9thFens0RJAWIY9Ot0MIJ5_V64w90jnSDKIoejuSovX59_Xu5Ow37AOpyntqi4T5cl6W-dDWy0Y0y7pqVjO5ZEIs2UpwuSBVsFU_W-aaU7M-Ec0YE_FI__RKSeH9dzSSyr-1cPeMfZLnm1y1rGSsbMqqmrG6rgqxwvlBsKYWh2pWrupsVuLIlS4Sz8K6Y-7aiTJV8uTUytOe3Z20YOpocJpbwucxDNa18kTrIxzPp_baqbdfh_4Vmw">