@@ -3960,7 +3960,7 @@ SDValue SITargetLowering::lowerGET_ROUNDING(SDValue Op,
39603960 assert(Op.getValueType() == MVT::i32);
39613961
39623962 uint32_t BothRoundHwReg =
3963- AMDGPU::Hwreg::encodeHwreg (AMDGPU::Hwreg::ID_MODE, 0, 4);
3963+ AMDGPU::Hwreg::HwregEncoding::encode (AMDGPU::Hwreg::ID_MODE, 0, 4);
39643964 SDValue GetRoundBothImm = DAG.getTargetConstant(BothRoundHwReg, SL, MVT::i32);
39653965
39663966 SDValue IntrinID =
@@ -4195,8 +4195,8 @@ SITargetLowering::emitGWSMemViolTestLoop(MachineInstr &MI,
41954195
41964196 MachineBasicBlock::iterator I = LoopBB->end();
41974197
4198- const unsigned EncodedReg = AMDGPU::Hwreg::encodeHwreg (
4199- AMDGPU::Hwreg::ID_TRAPSTS, AMDGPU::Hwreg::OFFSET_MEM_VIOL, 1);
4198+ const unsigned EncodedReg = AMDGPU::Hwreg::HwregEncoding::encode (
4199+ AMDGPU::Hwreg::ID_TRAPSTS, AMDGPU::Hwreg::OFFSET_MEM_VIOL, 1);
42004200
42014201 // Clear TRAP_STS.MEM_VIOL
42024202 BuildMI(*LoopBB, LoopBB->begin(), DL, TII->get(AMDGPU::S_SETREG_IMM32_B32))
@@ -4999,18 +4999,16 @@ MachineBasicBlock *SITargetLowering::EmitInstrWithCustomInserter(
49994999 // Otherwise there was overflow and the result is hi2:0. In both cases the
50005000 // result should represent the actual time at some point during the sequence
50015001 // of three getregs.
5002+ using namespace AMDGPU::Hwreg;
50025003 Register RegHi1 = MRI.createVirtualRegister(&AMDGPU::SReg_32RegClass);
50035004 BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_GETREG_B32), RegHi1)
5004- .addImm(AMDGPU::Hwreg::encodeHwreg(AMDGPU::Hwreg::ID_SHADER_CYCLES_HI,
5005- 0, 32));
5005+ .addImm(HwregEncoding::encode(ID_SHADER_CYCLES_HI, 0, 32));
50065006 Register RegLo1 = MRI.createVirtualRegister(&AMDGPU::SReg_32RegClass);
50075007 BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_GETREG_B32), RegLo1)
5008- .addImm(
5009- AMDGPU::Hwreg::encodeHwreg(AMDGPU::Hwreg::ID_SHADER_CYCLES, 0, 32));
5008+ .addImm(HwregEncoding::encode(ID_SHADER_CYCLES, 0, 32));
50105009 Register RegHi2 = MRI.createVirtualRegister(&AMDGPU::SReg_32RegClass);
50115010 BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_GETREG_B32), RegHi2)
5012- .addImm(AMDGPU::Hwreg::encodeHwreg(AMDGPU::Hwreg::ID_SHADER_CYCLES_HI,
5013- 0, 32));
5011+ .addImm(HwregEncoding::encode(ID_SHADER_CYCLES_HI, 0, 32));
50145012 BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_CMP_EQ_U32))
50155013 .addReg(RegHi1)
50165014 .addReg(RegHi2);
@@ -5207,8 +5205,8 @@ MachineBasicBlock *SITargetLowering::EmitInstrWithCustomInserter(
52075205 // FIXME: This could be predicates on the immediate, but tablegen doesn't
52085206 // allow you to have a no side effect instruction in the output of a
52095207 // sideeffecting pattern.
5210- unsigned ID, Offset, Width;
5211- AMDGPU::Hwreg::decodeHwreg (MI.getOperand(1).getImm(), ID, Offset, Width );
5208+ auto [ ID, Offset, Width] =
5209+ AMDGPU::Hwreg::HwregEncoding::decode (MI.getOperand(1).getImm());
52125210 if (ID != AMDGPU::Hwreg::ID_MODE)
52135211 return BB;
52145212
@@ -10495,9 +10493,8 @@ SDValue SITargetLowering::LowerFDIV32(SDValue Op, SelectionDAG &DAG) const {
1049510493 SDValue NegDivScale0 = DAG.getNode(ISD::FNEG, SL, MVT::f32,
1049610494 DenominatorScaled, Flags);
1049710495
10498- const unsigned Denorm32Reg = AMDGPU::Hwreg::ID_MODE |
10499- (4 << AMDGPU::Hwreg::OFFSET_SHIFT_) |
10500- (1 << AMDGPU::Hwreg::WIDTH_M1_SHIFT_);
10496+ using namespace AMDGPU::Hwreg;
10497+ const unsigned Denorm32Reg = HwregEncoding::encode(ID_MODE, 4, 2);
1050110498 const SDValue BitField = DAG.getTargetConstant(Denorm32Reg, SL, MVT::i32);
1050210499
1050310500 const MachineFunction &MF = DAG.getMachineFunction();
0 commit comments