OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 25 matching lines...) Expand all Loading... |
36 # define USE_ARM_EABI 1 | 36 # define USE_ARM_EABI 1 |
37 #endif | 37 #endif |
38 | 38 |
39 // This means that interwork-compatible jump instructions are generated. We | 39 // This means that interwork-compatible jump instructions are generated. We |
40 // want to generate them on the simulator too so it makes snapshots that can | 40 // want to generate them on the simulator too so it makes snapshots that can |
41 // be used on real hardware. | 41 // be used on real hardware. |
42 #if defined(__THUMB_INTERWORK__) || !defined(__arm__) | 42 #if defined(__THUMB_INTERWORK__) || !defined(__arm__) |
43 # define USE_THUMB_INTERWORK 1 | 43 # define USE_THUMB_INTERWORK 1 |
44 #endif | 44 #endif |
45 | 45 |
46 #if defined(__ARM_ARCH_5T__) || \ | 46 #if defined(__ARM_ARCH_7A__) || \ |
47 defined(__ARM_ARCH_5TE__) || \ | 47 defined(__ARM_ARCH_7R__) || \ |
48 defined(__ARM_ARCH_6__) || \ | |
49 defined(__ARM_ARCH_7A__) || \ | |
50 defined(__ARM_ARCH_7__) | 48 defined(__ARM_ARCH_7__) |
| 49 # define CAN_USE_ARMV7_INSTRUCTIONS 1 |
| 50 #endif |
| 51 |
| 52 #if defined(__ARM_ARCH_6__) || \ |
| 53 defined(__ARM_ARCH_6J__) || \ |
| 54 defined(__ARM_ARCH_6K__) || \ |
| 55 defined(__ARM_ARCH_6Z__) || \ |
| 56 defined(__ARM_ARCH_6ZK__) || \ |
| 57 defined(__ARM_ARCH_6T2__) || \ |
| 58 defined(CAN_USE_ARMV7_INSTRUCTIONS) |
| 59 # define CAN_USE_ARMV6_INSTRUCTIONS 1 |
| 60 #endif |
| 61 |
| 62 #if defined(__ARM_ARCH_5T__) || \ |
| 63 defined(__ARM_ARCH_5TE__) || \ |
| 64 defined(CAN_USE_ARMV6_INSTRUCTIONS) |
51 # define CAN_USE_ARMV5_INSTRUCTIONS 1 | 65 # define CAN_USE_ARMV5_INSTRUCTIONS 1 |
52 # define CAN_USE_THUMB_INSTRUCTIONS 1 | 66 # define CAN_USE_THUMB_INSTRUCTIONS 1 |
53 #endif | 67 #endif |
54 | 68 |
55 #if defined(__ARM_ARCH_6__) || \ | |
56 defined(__ARM_ARCH_7A__) || \ | |
57 defined(__ARM_ARCH_7__) | |
58 # define CAN_USE_ARMV6_INSTRUCTIONS 1 | |
59 #endif | |
60 | |
61 #if defined(__ARM_ARCH_7A__) || \ | |
62 defined(__ARM_ARCH_7__) | |
63 # define CAN_USE_ARMV7_INSTRUCTIONS 1 | |
64 #endif | |
65 | |
66 // Simulator should support ARM5 instructions. | 69 // Simulator should support ARM5 instructions. |
67 #if !defined(__arm__) | 70 #if !defined(__arm__) |
68 # define CAN_USE_ARMV5_INSTRUCTIONS 1 | 71 # define CAN_USE_ARMV5_INSTRUCTIONS 1 |
69 # define CAN_USE_THUMB_INSTRUCTIONS 1 | 72 # define CAN_USE_THUMB_INSTRUCTIONS 1 |
70 #endif | 73 #endif |
71 | 74 |
72 namespace assembler { | 75 namespace assembler { |
73 namespace arm { | 76 namespace arm { |
74 | 77 |
75 // Number of registers in normal ARM mode. | 78 // Number of registers in normal ARM mode. |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 static const char* Name(int reg); | 338 static const char* Name(int reg); |
336 | 339 |
337 private: | 340 private: |
338 static const char* names_[kNumVFPRegisters]; | 341 static const char* names_[kNumVFPRegisters]; |
339 }; | 342 }; |
340 | 343 |
341 | 344 |
342 } } // namespace assembler::arm | 345 } } // namespace assembler::arm |
343 | 346 |
344 #endif // V8_ARM_CONSTANTS_ARM_H_ | 347 #endif // V8_ARM_CONSTANTS_ARM_H_ |
OLD | NEW |