@@ -865,22 +865,16 @@ void SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
865865 return ;
866866 }
867867
868- if (DestReg == AMDGPU::VCC_LO) {
869- if (AMDGPU::SReg_32RegClass.contains (SrcReg)) {
870- BuildMI (MBB, MI, DL, get (AMDGPU::S_MOV_B32), AMDGPU::VCC_LO)
871- .addReg (SrcReg, getKillRegState (KillSrc));
872- } else {
868+ if (!AMDGPU::SReg_32RegClass.contains (SrcReg)) {
869+ if (DestReg == AMDGPU::VCC_LO) {
873870 // FIXME: Hack until VReg_1 removed.
874871 assert (AMDGPU::VGPR_32RegClass.contains (SrcReg));
875872 BuildMI (MBB, MI, DL, get (AMDGPU::V_CMP_NE_U32_e32))
876- .addImm (0 )
877- .addReg (SrcReg, getKillRegState (KillSrc));
873+ .addImm (0 )
874+ .addReg (SrcReg, getKillRegState (KillSrc));
875+ return ;
878876 }
879877
880- return ;
881- }
882-
883- if (!AMDGPU::SReg_32RegClass.contains (SrcReg)) {
884878 reportIllegalCopy (this , MBB, MI, DL, DestReg, SrcReg, KillSrc);
885879 return ;
886880 }
@@ -898,22 +892,16 @@ void SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
898892 return ;
899893 }
900894
901- if (DestReg == AMDGPU::VCC) {
902- if (AMDGPU::SReg_64_EncodableRegClass.contains (SrcReg)) {
903- BuildMI (MBB, MI, DL, get (AMDGPU::S_MOV_B64), AMDGPU::VCC)
904- .addReg (SrcReg, getKillRegState (KillSrc));
905- } else {
895+ if (!AMDGPU::SReg_64_EncodableRegClass.contains (SrcReg)) {
896+ if (DestReg == AMDGPU::VCC) {
906897 // FIXME: Hack until VReg_1 removed.
907898 assert (AMDGPU::VGPR_32RegClass.contains (SrcReg));
908899 BuildMI (MBB, MI, DL, get (AMDGPU::V_CMP_NE_U32_e32))
909- .addImm (0 )
910- .addReg (SrcReg, getKillRegState (KillSrc));
900+ .addImm (0 )
901+ .addReg (SrcReg, getKillRegState (KillSrc));
902+ return ;
911903 }
912904
913- return ;
914- }
915-
916- if (!AMDGPU::SReg_64_EncodableRegClass.contains (SrcReg)) {
917905 reportIllegalCopy (this , MBB, MI, DL, DestReg, SrcReg, KillSrc);
918906 return ;
919907 }
0 commit comments