| //===- 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 |