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

    <tr>
        <th>Summary</th>
        <td>
            [AMDGPU] SIFixSGPRCopies breaks functions with VALU copy to SGPR
        </td>
    </tr>

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

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

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

<pre>
    ```
# RUN: llc -march=amdgcn -mcpu=tonga -run-pass=si-fix-sgpr-copies -o - %s | FileCheck %s

# Copy to $sgpr0 is disconnected and becomes an IMPLICIT_DEF
# Inserted V_AND_B32 defines virtual register after use.

---
name: si_fix_sgpr_copies_breaks_function
tracksRegLiveness: true
machineFunctionInfo:
  isEntryFunction: true
body: |
  bb.0:
    liveins: $sgpr0

    %0:sgpr_32 = COPY $sgpr0
 %2:sreg_32 = S_MOV_B32 16
    %3:sreg_32 = S_LSHR_B32 %0, killed %2, implicit-def dead $scc
    %4:sreg_32 = COPY killed %3
    %5:sreg_32 = S_MOV_B32 -32768
    %7:vgpr_32 = COPY killed %5
    %6:vgpr_32 = V_XOR_B32_e64 killed %4, %7, implicit $exec
    %8:sreg_32 = S_MOV_B32 65535
    %10:sreg_32 = COPY %6
    %9:sreg_32 = S_AND_B32 killed %8, killed %10, implicit-def dead $scc
    $sgpr0 = COPY %9
 SI_RETURN_TO_EPILOG $sgpr0

...

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVFFv4jgX_TXm5SoosUkCD3lgSOmHRAuCtvr2KXKcm-AlcZDtsO2_XznAQDoz0koIkH3uOfdc24cbIyuFmJDwBwnTEe_sodUJ1wZVM8rb4ishkX_9-Cnx54Qy2L2_EjaHuhbgNVyLA2Epb4pKKPAaceoIS22rKg6e7pR34sYQlhrplfLTM9VJe6I9STTgteABoaEBEi9gKWtcHFAc-6Wr2k_NRXv6AtsCoRNH4YM0UEgjWqVQWCyAqwJyFG2DBriC1ct2vVqs3rL0aXlnWSmD2qE_svlrmv1gFAospUIDZ6ltx2vQWEljUQMv3XdncPzYi-d5lz-KN-imYGRWys_MNZVdfGW5Rn40WdkpYWWrLniruTiaHVZreUaFbiZzsLrDy3bDxUEqXF5rVqpsCbtqAkjzpKz-uu0OS90xuRUSL274PB_7D-UAtTyjVL3mbYKPrhyE0NDV9EYYBcJSWGy2f33DOxh1MI3VDbbPXjYf_TCDaMDHfgGu9__b9chejS7gKOsaiwsrXYBsTrUU0noFllAgL3p5IQa0k2-0fZt3IjYAh39s1mM0jqYDcEzY_Px9AHfmcACOvoE_sv9venMZRpOHqokz1pM_GHS-8BOHxqZ_7DUKQzZUD_zfTaFv6xE2-4XydvHvDU6HBxH4__Ukrk_xUX123d-vst3T2_vuNXvbZE_b1Xrz_NubNx4PntfPtBkVCStmbMZHmASxz_woDKfR6JBMOY9jNgu5z4tpKeJZKIJgGrOy9Kd-PpuMZEJ9ygJKfX82iWg0DgLBcIZIozwuWRmQiY8Nl_W4rs_NuNXVSBrTYRJHPgtGNc-xNn0gUppzcURVEDafv6TP23dCqYtJnbhSL-8qQyZ-LY01dzIrbd0H6rUkTGG_WsrP_fN2t7gE3yUg4BYQBv6R9gAf8_U7iGvOOfSo03VysPbk3i2hS0KXlbSHLh-LtiF06SSvP95Jt3-jsIQuezOG0GXv598AAAD__7AbrpI">