File tree Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Expand file tree Collapse file tree 1 file changed +5
-6
lines changed Original file line number Diff line number Diff line change @@ -7240,15 +7240,14 @@ void SIInstrInfo::legalizeOperandsVALUt16(MachineInstr &MI,
7240
7240
if (!OpIdx)
7241
7241
continue ;
7242
7242
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 ))
7245
7245
continue ;
7246
7246
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)) {
7250
7249
Op.setSubReg (AMDGPU::lo16);
7251
- } else if (expectedSize == 32 && currSize == 16 ) {
7250
+ } else if (RI. getMatchingSuperRegClass (UseRC, DefRC, AMDGPU::lo16) ) {
7252
7251
const DebugLoc &DL = MI.getDebugLoc ();
7253
7252
Register NewDstReg =
7254
7253
MRI.createVirtualRegister (&AMDGPU::VGPR_32RegClass);
You can’t perform that action at this time.
0 commit comments