diff options
| author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-25 01:07:22 +0000 |
|---|---|---|
| committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-25 01:07:22 +0000 |
| commit | 25bc27965a43e974577306a61274813de71b8ea6 (patch) | |
| tree | b847bbd5e737bb15d65b67e74f36a026d82683ec /llvm/lib/Target/AMDGPU | |
| parent | 5b9d0205aaeba15e3adf4ed3c5251170928dc59f (diff) | |
| download | bcm5719-llvm-25bc27965a43e974577306a61274813de71b8ea6.tar.gz bcm5719-llvm-25bc27965a43e974577306a61274813de71b8ea6.zip | |
AMDGPU/GlobalISel: Fix regbankselect for amdgcn.class
llvm-svn: 364262
Diffstat (limited to 'llvm/lib/Target/AMDGPU')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp index b5ff27ed0b4..d5fe3a02a5f 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp @@ -1503,12 +1503,16 @@ AMDGPURegisterBankInfo::getInstrMapping(const MachineInstr &MI) const { break; } case Intrinsic::amdgcn_class: { - unsigned SrcReg = MI.getOperand(2).getReg(); - unsigned SrcSize = MRI.getType(SrcReg).getSizeInBits(); + unsigned Src0Reg = MI.getOperand(2).getReg(); + unsigned Src1Reg = MI.getOperand(3).getReg(); + unsigned Src0Size = MRI.getType(Src0Reg).getSizeInBits(); + unsigned Src1Size = MRI.getType(Src1Reg).getSizeInBits(); unsigned DstSize = MRI.getType(MI.getOperand(0).getReg()).getSizeInBits(); OpdsMapping[0] = AMDGPU::getValueMapping(AMDGPU::VCCRegBankID, DstSize); - OpdsMapping[2] = AMDGPU::getValueMapping(getRegBankID(SrcReg, MRI, *TRI), - SrcSize); + OpdsMapping[2] = AMDGPU::getValueMapping(getRegBankID(Src0Reg, MRI, *TRI), + Src0Size); + OpdsMapping[3] = AMDGPU::getValueMapping(getRegBankID(Src1Reg, MRI, *TRI), + Src1Size); break; } } |

