//===- subzero/src/IceTargetLoweringX86RegClass.h - x86 reg class -*- C++ -*-=// // // The Subzero Code Generator // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// /// /// \file /// \brief Declares the X86 register class extensions. /// //===----------------------------------------------------------------------===// #ifndef SUBZERO_SRC_ICETARGETLOWERINGX86REGCLASS_H #define SUBZERO_SRC_ICETARGETLOWERINGX86REGCLASS_H #include "IceOperand.h" // RC_Target namespace Ice { namespace X86 { // Extend enum RegClass with x86-specific register classes. enum RegClassX86 : uint8_t { RCX86_Is64To8 = RC_Target, // 64-bit GPR trivially truncable to 8-bit RCX86_Is32To8, // 32-bit GPR trivially truncable to 8-bit RCX86_Is16To8, // 16-bit GPR trivially truncable to 8-bit RCX86_IsTrunc8Rcvr, // 8-bit GPR that can receive a trunc operation RCX86_IsAhRcvr, // 8-bit GPR that can be a mov dest from %ah RCX86_NUM }; } // end of namespace X86 } // end of namespace Ice #endif // SUBZERO_SRC_ICETARGETLOWERINGX86REGCLASS_H