//===- AMDGPUGenRegisterBankInfo.def -----------------------------*- C++ -*-==//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
/// \file
/// This file defines all the static objects used by AMDGPURegisterBankInfo.
/// \todo This should be generated by TableGen.
//===----------------------------------------------------------------------===//

namespace llvm {
namespace AMDGPU {

enum PartialMappingIdx {
  None = - 1,
  PM_SGPR32 = 0,
  PM_SGPR64 = 1,
  PM_VGPR32 = 2,
  PM_VGPR64 = 3
};

const RegisterBankInfo::PartialMapping PartMappings[] {
  // StartIdx, Length, RegBank
  {0, 32, SGPRRegBank},
  {0, 64, SGPRRegBank},
  {0, 32, VGPRRegBank},
  {0, 64, VGPRRegBank}
};

const RegisterBankInfo::ValueMapping ValMappings[] {
  // SGPR 32-bit
  {&PartMappings[0], 1},
  // SGPR 64-bit
  {&PartMappings[1], 1},
  // VGPR 32-bit
  {&PartMappings[2], 1},
  // VGPR 64-bit
  {&PartMappings[3], 1}
};

enum ValueMappingIdx {
  SGPRStartIdx = 0,
  VGPRStartIdx = 2
};

const RegisterBankInfo::ValueMapping *getValueMapping(unsigned BankID,
                                                      unsigned Size) {
  assert(Size % 32 == 0);
  unsigned Idx = BankID == AMDGPU::SGPRRegBankID ? SGPRStartIdx : VGPRStartIdx;
  Idx += (Size / 32) - 1;
  return &ValMappings[Idx];
}

} // End AMDGPU namespace.
} // End llvm namespace.
