Skip to content

Commit e5ebb74

Browse files
committed
address comment
1 parent 253b41a commit e5ebb74

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

llvm/lib/Target/AMDGPU/SIInstrInfo.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7240,15 +7240,14 @@ void SIInstrInfo::legalizeOperandsVALUt16(MachineInstr &MI,
72407240
if (!OpIdx)
72417241
continue;
72427242
if (Op.isReg() && Op.getReg().isVirtual()) {
7243-
const TargetRegisterClass *RC = MRI.getRegClass(Op.getReg());
7244-
if (!RI.isVGPRClass(RC))
7243+
const TargetRegisterClass *DefRC = MRI.getRegClass(Op.getReg());
7244+
if (!RI.isVGPRClass(DefRC))
72457245
continue;
72467246
unsigned RCID = get(Opcode).operands()[OpIdx].RegClass;
7247-
unsigned expectedSize = RI.getRegSizeInBits(*RI.getRegClass(RCID));
7248-
unsigned currSize = RI.getRegSizeInBits(*RC);
7249-
if (expectedSize == 16 && currSize == 32) {
7247+
const TargetRegisterClass *UseRC = RI.getRegClass(RCID);
7248+
if (RI.getMatchingSuperRegClass(DefRC, UseRC, AMDGPU::lo16)) {
72507249
Op.setSubReg(AMDGPU::lo16);
7251-
} else if (expectedSize == 32 && currSize == 16) {
7250+
} else if (RI.getMatchingSuperRegClass(UseRC, DefRC, AMDGPU::lo16)) {
72527251
const DebugLoc &DL = MI.getDebugLoc();
72537252
Register NewDstReg =
72547253
MRI.createVirtualRegister(&AMDGPU::VGPR_32RegClass);

0 commit comments

Comments
 (0)