@@ -1171,62 +1171,6 @@ int SIInstrInfo::commuteOpcode(unsigned Opcode) const {
11711171 return Opcode;
11721172}
11731173
1174- void SIInstrInfo::materializeImmediate (MachineBasicBlock &MBB,
1175- MachineBasicBlock::iterator MI,
1176- const DebugLoc &DL, Register DestReg,
1177- int64_t Value) const {
1178- MachineRegisterInfo &MRI = MBB.getParent ()->getRegInfo ();
1179- const TargetRegisterClass *RegClass = MRI.getRegClass (DestReg);
1180- if (RegClass == &AMDGPU::SReg_32RegClass ||
1181- RegClass == &AMDGPU::SGPR_32RegClass ||
1182- RegClass == &AMDGPU::SReg_32_XM0RegClass ||
1183- RegClass == &AMDGPU::SReg_32_XM0_XEXECRegClass) {
1184- BuildMI (MBB, MI, DL, get (AMDGPU::S_MOV_B32), DestReg)
1185- .addImm (Value);
1186- return ;
1187- }
1188-
1189- if (RegClass == &AMDGPU::SReg_64RegClass ||
1190- RegClass == &AMDGPU::SGPR_64RegClass ||
1191- RegClass == &AMDGPU::SReg_64_XEXECRegClass) {
1192- BuildMI (MBB, MI, DL, get (AMDGPU::S_MOV_B64), DestReg)
1193- .addImm (Value);
1194- return ;
1195- }
1196-
1197- if (RegClass == &AMDGPU::VGPR_32RegClass) {
1198- BuildMI (MBB, MI, DL, get (AMDGPU::V_MOV_B32_e32), DestReg)
1199- .addImm (Value);
1200- return ;
1201- }
1202- if (RegClass->hasSuperClassEq (&AMDGPU::VReg_64RegClass)) {
1203- BuildMI (MBB, MI, DL, get (AMDGPU::V_MOV_B64_PSEUDO), DestReg)
1204- .addImm (Value);
1205- return ;
1206- }
1207-
1208- unsigned EltSize = 4 ;
1209- unsigned Opcode = AMDGPU::V_MOV_B32_e32;
1210- if (RI.isSGPRClass (RegClass)) {
1211- if (RI.getRegSizeInBits (*RegClass) > 32 ) {
1212- Opcode = AMDGPU::S_MOV_B64;
1213- EltSize = 8 ;
1214- } else {
1215- Opcode = AMDGPU::S_MOV_B32;
1216- EltSize = 4 ;
1217- }
1218- }
1219-
1220- ArrayRef<int16_t > SubIndices = RI.getRegSplitParts (RegClass, EltSize);
1221- for (unsigned Idx = 0 ; Idx < SubIndices.size (); ++Idx) {
1222- int64_t IdxValue = Idx == 0 ? Value : 0 ;
1223-
1224- MachineInstrBuilder Builder = BuildMI (MBB, MI, DL,
1225- get (Opcode), RI.getSubReg (DestReg, SubIndices[Idx]));
1226- Builder.addImm (IdxValue);
1227- }
1228- }
1229-
12301174const TargetRegisterClass *
12311175SIInstrInfo::getPreferredSelectRegClass (unsigned Size) const {
12321176 return &AMDGPU::VGPR_32RegClass;
0 commit comments