OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX8664Traits.h - x86-64 traits -*- C++ -*-=// | 1 //===- subzero/src/IceTargetLoweringX8664Traits.h - x86-64 traits -*- C++ -*-=// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 /// | 9 /// |
10 /// \file | 10 /// \file |
(...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 llvm::SmallBitVector Trunc64To8Registers(RegisterSet::Reg_NUM); | 494 llvm::SmallBitVector Trunc64To8Registers(RegisterSet::Reg_NUM); |
495 llvm::SmallBitVector Trunc32To8Registers(RegisterSet::Reg_NUM); | 495 llvm::SmallBitVector Trunc32To8Registers(RegisterSet::Reg_NUM); |
496 llvm::SmallBitVector Trunc16To8Registers(RegisterSet::Reg_NUM); | 496 llvm::SmallBitVector Trunc16To8Registers(RegisterSet::Reg_NUM); |
497 llvm::SmallBitVector Trunc8RcvrRegisters(RegisterSet::Reg_NUM); | 497 llvm::SmallBitVector Trunc8RcvrRegisters(RegisterSet::Reg_NUM); |
498 llvm::SmallBitVector AhRcvrRegisters(RegisterSet::Reg_NUM); | 498 llvm::SmallBitVector AhRcvrRegisters(RegisterSet::Reg_NUM); |
499 llvm::SmallBitVector InvalidRegisters(RegisterSet::Reg_NUM); | 499 llvm::SmallBitVector InvalidRegisters(RegisterSet::Reg_NUM); |
500 ScratchRegs->resize(RegisterSet::Reg_NUM); | 500 ScratchRegs->resize(RegisterSet::Reg_NUM); |
501 | 501 |
502 static constexpr struct { | 502 static constexpr struct { |
503 uint16_t Val; | 503 uint16_t Val; |
504 int Is64 : 1; | 504 unsigned Is64 : 1; |
505 int Is32 : 1; | 505 unsigned Is32 : 1; |
506 int Is16 : 1; | 506 unsigned Is16 : 1; |
507 int Is8 : 1; | 507 unsigned Is8 : 1; |
508 int IsXmm : 1; | 508 unsigned IsXmm : 1; |
509 int Is64To8 : 1; | 509 unsigned Is64To8 : 1; |
510 int Is32To8 : 1; | 510 unsigned Is32To8 : 1; |
511 int Is16To8 : 1; | 511 unsigned Is16To8 : 1; |
512 int IsTrunc8Rcvr : 1; | 512 unsigned IsTrunc8Rcvr : 1; |
513 int IsAhRcvr : 1; | 513 unsigned IsAhRcvr : 1; |
514 int Scratch : 1; | 514 unsigned Scratch : 1; |
515 #define NUM_ALIASES_BITS 2 | 515 #define NUM_ALIASES_BITS 2 |
516 SizeT NumAliases : (NUM_ALIASES_BITS + 1); | 516 SizeT NumAliases : (NUM_ALIASES_BITS + 1); |
517 uint16_t Aliases[1 << NUM_ALIASES_BITS]; | 517 uint16_t Aliases[1 << NUM_ALIASES_BITS]; |
518 #undef NUM_ALIASES_BITS | 518 #undef NUM_ALIASES_BITS |
519 } X8664RegTable[RegisterSet::Reg_NUM] = { | 519 } X8664RegTable[RegisterSet::Reg_NUM] = { |
520 #define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, \ | 520 #define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, \ |
521 isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, \ | 521 isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, \ |
522 isTrunc8Rcvr, isAhRcvr, aliases) \ | 522 isTrunc8Rcvr, isAhRcvr, aliases) \ |
523 { \ | 523 { \ |
524 RegisterSet::val, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, \ | 524 RegisterSet::val, is64, is32, is16, is8, isXmm, is64To8, is32To8, is16To8, \ |
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 const char *FldString; // s, l, or <blank> | 979 const char *FldString; // s, l, or <blank> |
980 } TypeAttributes[]; | 980 } TypeAttributes[]; |
981 }; | 981 }; |
982 | 982 |
983 using Traits = ::Ice::X8664::TargetX8664Traits; | 983 using Traits = ::Ice::X8664::TargetX8664Traits; |
984 } // end of namespace X8664 | 984 } // end of namespace X8664 |
985 | 985 |
986 } // end of namespace Ice | 986 } // end of namespace Ice |
987 | 987 |
988 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8664TRAITS_H | 988 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8664TRAITS_H |
OLD | NEW |