summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-06-25 01:07:22 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-06-25 01:07:22 +0000
commit25bc27965a43e974577306a61274813de71b8ea6 (patch)
treeb847bbd5e737bb15d65b67e74f36a026d82683ec /llvm/lib/Target/AMDGPU
parent5b9d0205aaeba15e3adf4ed3c5251170928dc59f (diff)
downloadbcm5719-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.cpp12
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;
}
}
OpenPOWER on IntegriCloud