diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp b/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp index 67c86c3b8b9..599c9d71552 100644 --- a/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp +++ b/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp @@ -233,11 +233,10 @@ static bool isSubregOf(const MachineOperand &SubReg, if (SuperReg.getReg() != SubReg.getReg()) return false; - LaneBitmask::Type SuperMask = - TRI->getSubRegIndexLaneMask(SuperReg.getSubReg()).getAsInteger(); - LaneBitmask::Type SubMask = - TRI->getSubRegIndexLaneMask(SubReg.getSubReg()).getAsInteger(); - return TRI->regmaskSubsetEqual(&SubMask, &SuperMask); + LaneBitmask SuperMask = TRI->getSubRegIndexLaneMask(SuperReg.getSubReg()); + LaneBitmask SubMask = TRI->getSubRegIndexLaneMask(SubReg.getSubReg()); + SuperMask |= ~SubMask; + return SuperMask.all(); } uint64_t SDWASrcOperand::getSrcMods() const { |

