OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_ARM_CONSTANTS_ARM_H_ | 5 #ifndef V8_ARM_CONSTANTS_ARM_H_ |
6 #define V8_ARM_CONSTANTS_ARM_H_ | 6 #define V8_ARM_CONSTANTS_ARM_H_ |
7 | 7 |
8 // ARM EABI is required. | 8 // ARM EABI is required. |
9 #if defined(__arm__) && !defined(__ARM_EABI__) | 9 #if defined(__arm__) && !defined(__ARM_EABI__) |
10 #error ARM EABI support is required. | 10 #error ARM EABI support is required. |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 LSL = 0 << 5, // Logical shift left. | 229 LSL = 0 << 5, // Logical shift left. |
230 LSR = 1 << 5, // Logical shift right. | 230 LSR = 1 << 5, // Logical shift right. |
231 ASR = 2 << 5, // Arithmetic shift right. | 231 ASR = 2 << 5, // Arithmetic shift right. |
232 ROR = 3 << 5, // Rotate right. | 232 ROR = 3 << 5, // Rotate right. |
233 | 233 |
234 // RRX is encoded as ROR with shift_imm == 0. | 234 // RRX is encoded as ROR with shift_imm == 0. |
235 // Use a special code to make the distinction. The RRX ShiftOp is only used | 235 // Use a special code to make the distinction. The RRX ShiftOp is only used |
236 // as an argument, and will never actually be encoded. The Assembler will | 236 // as an argument, and will never actually be encoded. The Assembler will |
237 // detect it and emit the correct ROR shift operand with shift_imm == 0. | 237 // detect it and emit the correct ROR shift operand with shift_imm == 0. |
238 RRX = -1, | 238 RRX = -1, |
239 NO_SHIFT = -2, | |
240 kNumberOfShifts = 4 | 239 kNumberOfShifts = 4 |
241 }; | 240 }; |
242 | 241 |
243 | 242 |
244 // Status register fields. | 243 // Status register fields. |
245 enum SRegisterField { | 244 enum SRegisterField { |
246 CPSR_c = CPSR | 1 << 16, | 245 CPSR_c = CPSR | 1 << 16, |
247 CPSR_x = CPSR | 1 << 17, | 246 CPSR_x = CPSR | 1 << 17, |
248 CPSR_s = CPSR | 1 << 18, | 247 CPSR_s = CPSR | 1 << 18, |
249 CPSR_f = CPSR | 1 << 19, | 248 CPSR_f = CPSR | 1 << 19, |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
684 static int Number(const char* name, bool* is_double); | 683 static int Number(const char* name, bool* is_double); |
685 | 684 |
686 private: | 685 private: |
687 static const char* names_[kNumVFPRegisters]; | 686 static const char* names_[kNumVFPRegisters]; |
688 }; | 687 }; |
689 | 688 |
690 | 689 |
691 } } // namespace v8::internal | 690 } } // namespace v8::internal |
692 | 691 |
693 #endif // V8_ARM_CONSTANTS_ARM_H_ | 692 #endif // V8_ARM_CONSTANTS_ARM_H_ |
OLD | NEW |