[llvm] r373295 - AMDGPU/GlobalISel: Allow scc/vcc alternative mappings for s1 constants
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 30 19:07:19 PDT 2019
Author: arsenm
Date: Mon Sep 30 19:07:19 2019
New Revision: 373295
URL: http://llvm.org/viewvc/llvm-project?rev=373295&view=rev
Log:
AMDGPU/GlobalISel: Allow scc/vcc alternative mappings for s1 constants
Modified:
llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp?rev=373295&r1=373294&r2=373295&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp Mon Sep 30 19:07:19 2019
@@ -343,7 +343,21 @@ AMDGPURegisterBankInfo::getInstrAlternat
InstructionMappings AltMappings;
switch (MI.getOpcode()) {
- case TargetOpcode::G_CONSTANT:
+ case TargetOpcode::G_CONSTANT: {
+ unsigned Size = getSizeInBits(MI.getOperand(0).getReg(), MRI, *TRI);
+ if (Size == 1) {
+ static const OpRegBankEntry<1> Table[4] = {
+ { { AMDGPU::VGPRRegBankID }, 1 },
+ { { AMDGPU::SGPRRegBankID }, 1 },
+ { { AMDGPU::VCCRegBankID }, 1 },
+ { { AMDGPU::SCCRegBankID }, 1 }
+ };
+
+ return addMappingFromTable<1>(MI, MRI, { 0 }, Table);
+ }
+
+ LLVM_FALLTHROUGH;
+ }
case TargetOpcode::G_FCONSTANT:
case TargetOpcode::G_FRAME_INDEX:
case TargetOpcode::G_GLOBAL_VALUE: {
More information about the llvm-commits
mailing list