<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">