Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: src/IceRegistersMIPS32.h

Issue 2208523002: Float Constant CSE (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Address Comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 //===- subzero/src/IceRegistersMIPS32.h - Register information --*- C++ -*-===// 1 //===- subzero/src/IceRegistersMIPS32.h - Register information --*- 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 const char *getRegName(RegNumT RegNum); 90 const char *getRegName(RegNumT RegNum);
91 91
92 static inline RegNumT get64PairFirstRegNum(RegNumT RegNum) { 92 static inline RegNumT get64PairFirstRegNum(RegNumT RegNum) {
93 assert(unsigned(RegNum) >= Reg_I64PAIR_First); 93 assert(unsigned(RegNum) >= Reg_I64PAIR_First);
94 assert(unsigned(RegNum) <= Reg_F64PAIR_Last); 94 assert(unsigned(RegNum) <= Reg_F64PAIR_Last);
95 if (unsigned(RegNum) >= Reg_F64PAIR_First && 95 if (unsigned(RegNum) >= Reg_F64PAIR_First &&
96 unsigned(RegNum) <= Reg_F64PAIR_Last) 96 unsigned(RegNum) <= Reg_F64PAIR_Last)
97 return RegNumT::fixme(((RegNum - Reg_F64PAIR_First) * 2) + 97 return RegNumT::fixme(((RegNum - Reg_F64PAIR_First) * 2) +
98 unsigned(Reg_FPR_First)); 98 unsigned(Reg_FPR_First));
99 if (unsigned(RegNum) >= Reg_I64PAIR_First && 99 if (unsigned(RegNum) >= Reg_I64PAIR_First && unsigned(RegNum) <= Reg_T8T9)
100 unsigned(RegNum) <= Reg_T8T9)
101 return RegNumT::fixme(((RegNum - Reg_I64PAIR_First) * 2) + 100 return RegNumT::fixme(((RegNum - Reg_I64PAIR_First) * 2) +
102 unsigned(Reg_V0)); 101 unsigned(Reg_V0));
103 return RegMIPS32::Reg_LO; 102 return RegMIPS32::Reg_LO;
104 } 103 }
105 104
106 static inline RegNumT get64PairSecondRegNum(RegNumT RegNum) { 105 static inline RegNumT get64PairSecondRegNum(RegNumT RegNum) {
107 assert(unsigned(RegNum) >= Reg_I64PAIR_First); 106 assert(unsigned(RegNum) >= Reg_I64PAIR_First);
108 assert(unsigned(RegNum) <= Reg_F64PAIR_Last); 107 assert(unsigned(RegNum) <= Reg_F64PAIR_Last);
109 if (unsigned(RegNum) >= Reg_F64PAIR_First && 108 if (unsigned(RegNum) >= Reg_F64PAIR_First &&
110 unsigned(RegNum) <= Reg_F64PAIR_Last) 109 unsigned(RegNum) <= Reg_F64PAIR_Last)
111 return RegNumT::fixme(((RegNum - Reg_F64PAIR_First) * 2) + 110 return RegNumT::fixme(((RegNum - Reg_F64PAIR_First) * 2) +
112 unsigned(Reg_FPR_First) + 1); 111 unsigned(Reg_FPR_First) + 1);
113 if (unsigned(RegNum) >= Reg_I64PAIR_First && 112 if (unsigned(RegNum) >= Reg_I64PAIR_First && unsigned(RegNum) <= Reg_T8T9)
114 unsigned(RegNum) <= Reg_T8T9)
115 return RegNumT::fixme(((RegNum - Reg_I64PAIR_First) * 2) + 113 return RegNumT::fixme(((RegNum - Reg_I64PAIR_First) * 2) +
116 unsigned(Reg_V1)); 114 unsigned(Reg_V1));
117 return RegMIPS32::Reg_HI; 115 return RegMIPS32::Reg_HI;
118 } 116 }
119 117
120 } // end of namespace RegMIPS32 118 } // end of namespace RegMIPS32
121 119
122 // Extend enum RegClass with MIPS32-specific register classes (if any). 120 // Extend enum RegClass with MIPS32-specific register classes (if any).
123 enum RegClassMIPS32 : uint8_t { RCMIPS32_NUM = RC_Target }; 121 enum RegClassMIPS32 : uint8_t { RCMIPS32_NUM = RC_Target };
124 122
125 } // end of namespace MIPS32 123 } // end of namespace MIPS32
126 } // end of namespace Ice 124 } // end of namespace Ice
127 125
128 #endif // SUBZERO_SRC_ICEREGISTERSMIPS32_H 126 #endif // SUBZERO_SRC_ICEREGISTERSMIPS32_H
OLDNEW
« src/IceCfg.cpp ('K') | « src/IceCfg.cpp ('k') | src/IceTargetLoweringX86BaseImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698