OLD | NEW |
1 //===- subzero/src/IceRegistersARM32.h - Register information ---*- C++ -*-===// | 1 //===- subzero/src/IceRegistersARM32.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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 #define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \ | 110 #define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \ |
111 isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \ | 111 isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \ |
112 Encoded_##val = encode, | 112 Encoded_##val = encode, |
113 REGARM32_VEC128_TABLE | 113 REGARM32_VEC128_TABLE |
114 #undef X | 114 #undef X |
115 Encoded_Not_QReg = -1 | 115 Encoded_Not_QReg = -1 |
116 }; | 116 }; |
117 | 117 |
118 static constexpr struct TableType { | 118 static constexpr struct TableType { |
119 const char *Name; | 119 const char *Name; |
120 int32_t Encoding : 10; | 120 unsigned Encoding : 10; |
121 int32_t CCArg : 6; | 121 unsigned CCArg : 6; |
122 int32_t Scratch : 1; | 122 unsigned Scratch : 1; |
123 int32_t Preserved : 1; | 123 unsigned Preserved : 1; |
124 int32_t StackPtr : 1; | 124 unsigned StackPtr : 1; |
125 int32_t FramePtr : 1; | 125 unsigned FramePtr : 1; |
126 int32_t IsGPR : 1; | 126 unsigned IsGPR : 1; |
127 int32_t IsInt : 1; | 127 unsigned IsInt : 1; |
128 int32_t IsI64Pair : 1; | 128 unsigned IsI64Pair : 1; |
129 int32_t IsFP32 : 1; | 129 unsigned IsFP32 : 1; |
130 int32_t IsFP64 : 1; | 130 unsigned IsFP64 : 1; |
131 int32_t IsVec128 : 1; | 131 unsigned IsVec128 : 1; |
132 #define NUM_ALIASES_BITS 3 | 132 #define NUM_ALIASES_BITS 3 |
133 SizeT NumAliases : (NUM_ALIASES_BITS + 1); | 133 SizeT NumAliases : (NUM_ALIASES_BITS + 1); |
134 uint16_t Aliases[1 << NUM_ALIASES_BITS]; | 134 uint16_t Aliases[1 << NUM_ALIASES_BITS]; |
135 #undef NUM_ALIASES_BITS | 135 #undef NUM_ALIASES_BITS |
136 } Table[Reg_NUM] = { | 136 } Table[Reg_NUM] = { |
137 #define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \ | 137 #define X(val, encode, name, cc_arg, scratch, preserved, stackptr, frameptr, \ |
138 isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \ | 138 isGPR, isInt, isI64Pair, isFP32, isFP64, isVec128, alias_init) \ |
139 { \ | 139 { \ |
140 name, encode, cc_arg, scratch, preserved, stackptr, frameptr, isGPR, \ | 140 name, encode, cc_arg, scratch, preserved, stackptr, frameptr, isGPR, \ |
141 isInt, isI64Pair, isFP32, isFP64, isVec128, \ | 141 isInt, isI64Pair, isFP32, isFP64, isVec128, \ |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 } | 243 } |
244 }; | 244 }; |
245 | 245 |
246 // Extend enum RegClass with ARM32-specific register classes (if any). | 246 // Extend enum RegClass with ARM32-specific register classes (if any). |
247 enum RegClassARM32 : uint8_t { RCARM32_NUM = RC_Target }; | 247 enum RegClassARM32 : uint8_t { RCARM32_NUM = RC_Target }; |
248 | 248 |
249 } // end of namespace ARM32 | 249 } // end of namespace ARM32 |
250 } // end of namespace Ice | 250 } // end of namespace Ice |
251 | 251 |
252 #endif // SUBZERO_SRC_ICEREGISTERSARM32_H | 252 #endif // SUBZERO_SRC_ICEREGISTERSARM32_H |
OLD | NEW |