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

    <tr>
        <th>Summary</th>
        <td>
            AMDGPU SDWA formation broken by subregister uses
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AMDGPU,
            missed-optimization
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            frederik-h
      </td>
    </tr>

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

<pre>
    While trying to enable CSE for copies performing subregister extracts, I encounter regressions related to missed SDWA opportunities. Example attached, without sub registers the SDWA is formed. With sub registers, it is missed.

[machine-cse-subreg-breaks-sdwa-formation.mir.zip](https://github.com/user-attachments/files/19108926/machine-cse-subreg-breaks-sdwa-formation.mir.zip)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUkk9r3DAQxT-NfBE29njtxAcfNtls6aFQCCVnyRrb05Ulo5Hz79MXxduWXAoFw4AZ_d68maeYaXKIvWjuBMAY0GCgSz4LANGcMrXF2YdeBUa3ZNqbt_5pJosyhjdyk4xeolPaorx_fJCjD3LwKyHLFcPow5J6eNMBJ-KIQeJrDGqILOBefpXoBr-59D_gFJCZvGMZ0KqIJrEXYkYjH09PR-nX1Ye4OYqEXMiHV7WsFqWKUQ0zmkR8oTj7LSZF-VuSZZxxJxCnCRc0hXyiOH9uS-8ppp5dtBDlMX3N3aKGmRzmA2O-e8l1QHXhnM2LyhNSRfKuWCgU77SK5iTgdo5xZVEfBZwFnCeK86aLwS8CzhtjyPe5F3RpGeeRLKZadVV520Er4PzfstBlpq9NV3cqw766OVTQ3kB1yOYeGl2aCtSh6ypTaxxb3RzatmvM0LXQVhn1UEJT1mVb1VBWdYGjGjpdwgimVHXViEOJiyJbWPu8FD5MGTFv2Fd1WZWQWaXR8jVFWg0XdEbUx-O305fvP1KW4F4A7JvN_RppofeP6a85C33i5nqbWBxKSxz5r1KkaLHfWfsl_5iXOvgLOqnfPsVsY-RsC7b_xxUS_lryNfifOEQB5w9XH5fYjT338CsAAP__xOkOIQ">