| 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 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 switch (RegNum) { | 430 switch (RegNum) { |
| 431 default: | 431 default: |
| 432 llvm::report_fatal_error("Unknown register."); | 432 llvm::report_fatal_error("Unknown register."); |
| 433 #define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, \ | 433 #define X(val, encode, name, base, scratch, preserved, stackptr, frameptr, \ |
| 434 sboxres, isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, \ | 434 sboxres, isGPR, is64, is32, is16, is8, isXmm, is64To8, is32To8, \ |
| 435 is16To8, isTrunc8Rcvr, isAhRcvr, aliases) \ | 435 is16To8, isTrunc8Rcvr, isAhRcvr, aliases) \ |
| 436 case RegisterSet::val: { \ | 436 case RegisterSet::val: { \ |
| 437 if (!isGPR) \ | 437 if (!isGPR) \ |
| 438 return RegisterSet::val; \ | 438 return RegisterSet::val; \ |
| 439 assert((is64) || (is32) || (is16) || (is8) || \ | 439 assert((is64) || (is32) || (is16) || (is8) || \ |
| 440 getBaseReg(RegisterSet::val) == RegisterSet::Reg_rsp || \ | 440 getBaseReg(RegisterSet::val) == RegisterSet::Reg_rsp); \ |
| 441 getBaseReg(RegisterSet::val) == RegisterSet::Reg_rbp); \ | |
| 442 constexpr int32_t FirstGprWithRegNumSize = \ | 441 constexpr int32_t FirstGprWithRegNumSize = \ |
| 443 ((is64) || RegisterSet::val == RegisterSet::Reg_rsp || \ | 442 ((is64) || RegisterSet::val == RegisterSet::Reg_rsp) \ |
| 444 RegisterSet::val == RegisterSet::Reg_rbp) \ | |
| 445 ? RegisterSet::Reg_rax \ | 443 ? RegisterSet::Reg_rax \ |
| 446 : (((is32) || RegisterSet::val == RegisterSet::Reg_esp || \ | 444 : (((is32) || RegisterSet::val == RegisterSet::Reg_esp) \ |
| 447 RegisterSet::val == RegisterSet::Reg_ebp) \ | |
| 448 ? RegisterSet::Reg_eax \ | 445 ? RegisterSet::Reg_eax \ |
| 449 : (((is16) || RegisterSet::val == RegisterSet::Reg_sp || \ | 446 : (((is16) || RegisterSet::val == RegisterSet::Reg_sp) \ |
| 450 RegisterSet::val == RegisterSet::Reg_bp) \ | |
| 451 ? RegisterSet::Reg_ax \ | 447 ? RegisterSet::Reg_ax \ |
| 452 : RegisterSet::Reg_al)); \ | 448 : RegisterSet::Reg_al)); \ |
| 453 const int32_t NewRegNum = \ | 449 const int32_t NewRegNum = \ |
| 454 RegNum - FirstGprWithRegNumSize + FirstGprForType; \ | 450 RegNum - FirstGprWithRegNumSize + FirstGprForType; \ |
| 455 assert(getBaseReg(RegNum) == getBaseReg(NewRegNum) && \ | 451 assert(getBaseReg(RegNum) == getBaseReg(NewRegNum) && \ |
| 456 "Error involving " #val); \ | 452 "Error involving " #val); \ |
| 457 return NewRegNum; \ | 453 return NewRegNum; \ |
| 458 } | 454 } |
| 459 REGX8664_TABLE | 455 REGX8664_TABLE |
| 460 #undef X | 456 #undef X |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 const char *FldString; // s, l, or <blank> | 1041 const char *FldString; // s, l, or <blank> |
| 1046 } TypeAttributes[]; | 1042 } TypeAttributes[]; |
| 1047 }; | 1043 }; |
| 1048 | 1044 |
| 1049 using Traits = ::Ice::X8664::TargetX8664Traits; | 1045 using Traits = ::Ice::X8664::TargetX8664Traits; |
| 1050 } // end of namespace X8664 | 1046 } // end of namespace X8664 |
| 1051 | 1047 |
| 1052 } // end of namespace Ice | 1048 } // end of namespace Ice |
| 1053 | 1049 |
| 1054 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8664TRAITS_H | 1050 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8664TRAITS_H |
| OLD | NEW |