OLD | NEW |
1 //===-------- ARMBuildAttrs.h - ARM Build Attributes ------------*- C++ -*-===// | 1 //===-------- ARMBuildAttrs.h - ARM Build Attributes ------------*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
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 // This file contains enumerations and support routines for ARM build attributes | 10 // This file contains enumerations and support routines for ARM build attributes |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 ABI_enum_size = 26, | 52 ABI_enum_size = 26, |
53 ABI_HardFP_use = 27, | 53 ABI_HardFP_use = 27, |
54 ABI_VFP_args = 28, | 54 ABI_VFP_args = 28, |
55 ABI_WMMX_args = 29, | 55 ABI_WMMX_args = 29, |
56 ABI_optimization_goals = 30, | 56 ABI_optimization_goals = 30, |
57 ABI_FP_optimization_goals = 31, | 57 ABI_FP_optimization_goals = 31, |
58 compatibility = 32, | 58 compatibility = 32, |
59 CPU_unaligned_access = 34, | 59 CPU_unaligned_access = 34, |
60 VFP_HP_extension = 36, | 60 VFP_HP_extension = 36, |
61 ABI_FP_16bit_format = 38, | 61 ABI_FP_16bit_format = 38, |
| 62 MPextension_use = 42, // was 70, 2.08 ABI |
| 63 DIV_use = 44, |
62 nodefaults = 64, | 64 nodefaults = 64, |
63 also_compatible_with = 65, | 65 also_compatible_with = 65, |
64 T2EE_use = 66, | 66 T2EE_use = 66, |
65 conformance = 67, | 67 conformance = 67, |
66 Virtualization_use = 68, | 68 Virtualization_use = 68, |
67 MPextension_use = 70 | 69 MPextension_use_old = 70 |
68 }; | 70 }; |
69 | 71 |
70 // Magic numbers for .ARM.attributes | 72 // Magic numbers for .ARM.attributes |
71 enum AttrMagic { | 73 enum AttrMagic { |
72 Format_Version = 0x41 | 74 Format_Version = 0x41 |
73 }; | 75 }; |
| 76 |
| 77 // Legal Values for CPU_arch, (=6), uleb128 |
| 78 enum CPUArch { |
| 79 Pre_v4 = 0, |
| 80 v4 = 1, // e.g. SA110 |
| 81 v4T = 2, // e.g. ARM7TDMI |
| 82 v5T = 3, // e.g. ARM9TDMI |
| 83 v5TE = 4, // e.g. ARM946E_S |
| 84 v5TEJ = 5, // e.g. ARM926EJ_S |
| 85 v6 = 6, // e.g. ARM1136J_S |
| 86 v6KZ = 7, // e.g. ARM1176JZ_S |
| 87 v6T2 = 8, // e.g. ARM1156T2F_S |
| 88 v6K = 9, // e.g. ARM1136J_S |
| 89 v7 = 10, // e.g. Cortex A8, Cortex M3 |
| 90 v6_M = 11, // e.g. Cortex M1 |
| 91 v6S_M = 12, // v6_M with the System extensions |
| 92 v7E_M = 13 // v7_M with DSP extensions |
| 93 }; |
| 94 |
| 95 // Legal Values for CPU_arch_profile (=7), uleb128 |
| 96 enum CPUArchProfile { |
| 97 // Architecture profile is not applicable (e.g. pre v7, or cross_profile cod
e) |
| 98 None = 0, |
| 99 // ('A') The application profile (e.g. for Cortex A8) |
| 100 AppProfile = 0x41, |
| 101 // ('R') The real_time profile (e.g. for Cortex R4) |
| 102 RTProfile = 0x52, |
| 103 // ('M') The microcontroller profile (e.g. for Cortex M3) |
| 104 MicroProfile = 0x4D, |
| 105 // ('S') i.e. the classic programmer's model |
| 106 // i.e. Application or real_time profile |
| 107 ClassicProfile = 0x53 |
| 108 }; |
| 109 |
| 110 static const char *const Vendor_Name = "aeabi\0\0"; |
| 111 static const char *const Vendor_Name_End = Vendor_Name+6; |
74 } | 112 } |
75 | 113 |
76 #endif // __TARGET_ARMBUILDATTRS_H__ | 114 #endif // __TARGET_ARMBUILDATTRS_H__ |
OLD | NEW |