LLVM  13.0.0git
ARMBuildAttributes.h
Go to the documentation of this file.
1 //===-- ARMBuildAttributes.h - ARM Build Attributes -------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains enumerations and support routines for ARM build attributes
10 // as defined in ARM ABI addenda document (ABI release 2.08).
11 //
12 // ELF for the ARM Architecture r2.09 - November 30, 2012
13 //
14 // http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044e/IHI0044E_aaelf.pdf
15 //
16 //===----------------------------------------------------------------------===//
17 
18 #ifndef LLVM_SUPPORT_ARMBUILDATTRIBUTES_H
19 #define LLVM_SUPPORT_ARMBUILDATTRIBUTES_H
20 
22 
23 namespace llvm {
24 namespace ARMBuildAttrs {
25 
26 extern const TagNameMap ARMAttributeTags;
27 
29  // This is for the .cpu asm attr. It translates into one or more
30  // AttrType (below) entries in the .ARM.attributes section in the ELF.
32 };
33 
34 enum AttrType : unsigned {
35  // Rest correspond to ELF/.ARM.attributes
36  File = 1,
38  CPU_name = 5,
39  CPU_arch = 6,
43  FP_arch = 10,
44  WMMX_arch = 11,
46  PCS_config = 13,
69  MPextension_use = 42, // recoded from 70 (ABI r2.08)
70  DIV_use = 44,
72  MVE_arch = 48,
76 
77  /// Legacy Tags
78  Section = 2, // deprecated (ABI r2.09)
79  Symbol = 3, // deprecated (ABI r2.09)
80  ABI_align8_needed = 24, // renamed to ABI_align_needed (ABI r2.09)
81  ABI_align8_preserved = 25, // renamed to ABI_align_preserved (ABI r2.09)
82  nodefaults = 64, // deprecated (ABI r2.09)
83  T2EE_use = 66, // deprecated (ABI r2.09)
84  MPextension_use_old = 70 // recoded to MPextension_use (ABI r2.08)
85 };
86 
87 // Legal Values for CPU_arch, (=6), uleb128
88 enum CPUArch {
89  Pre_v4 = 0,
90  v4 = 1, // e.g. SA110
91  v4T = 2, // e.g. ARM7TDMI
92  v5T = 3, // e.g. ARM9TDMI
93  v5TE = 4, // e.g. ARM946E_S
94  v5TEJ = 5, // e.g. ARM926EJ_S
95  v6 = 6, // e.g. ARM1136J_S
96  v6KZ = 7, // e.g. ARM1176JZ_S
97  v6T2 = 8, // e.g. ARM1156T2_S
98  v6K = 9, // e.g. ARM1176JZ_S
99  v7 = 10, // e.g. Cortex A8, Cortex M3
100  v6_M = 11, // e.g. Cortex M1
101  v6S_M = 12, // v6_M with the System extensions
102  v7E_M = 13, // v7_M with DSP extensions
103  v8_A = 14, // v8_A AArch32
104  v8_R = 15, // e.g. Cortex R52
105  v8_M_Base= 16, // v8_M_Base AArch32
106  v8_M_Main= 17, // v8_M_Main AArch32
107  v8_1_M_Main=21, // v8_1_M_Main AArch32
108 };
109 
110 enum CPUArchProfile { // (=7), uleb128
111  Not_Applicable = 0, // pre v7, or cross-profile code
112  ApplicationProfile = (0x41), // 'A' (e.g. for Cortex A8)
113  RealTimeProfile = (0x52), // 'R' (e.g. for Cortex R4)
114  MicroControllerProfile = (0x4D), // 'M' (e.g. for Cortex M3)
115  SystemProfile = (0x53) // 'S' Application or real-time profile
116 };
117 
118 // The following have a lot of common use cases
119 enum {
121  Allowed = 1,
122 
123  // Tag_ARM_ISA_use (=8), uleb128
124 
125  // Tag_THUMB_ISA_use, (=9), uleb128
126  AllowThumb32 = 2, // 32-bit Thumb (implies 16-bit instructions)
127  AllowThumbDerived = 3, // Thumb allowed, derived from arch/profile
128 
129  // Tag_FP_arch (=10), uleb128 (formerly Tag_VFP_arch = 10)
130  AllowFPv2 = 2, // v2 FP ISA permitted (implies use of the v1 FP ISA)
131  AllowFPv3A = 3, // v3 FP ISA permitted (implies use of the v2 FP ISA)
132  AllowFPv3B = 4, // v3 FP ISA permitted, but only D0-D15, S0-S31
133  AllowFPv4A = 5, // v4 FP ISA permitted (implies use of v3 FP ISA)
134  AllowFPv4B = 6, // v4 FP ISA was permitted, but only D0-D15, S0-S31
135  AllowFPARMv8A = 7, // Use of the ARM v8-A FP ISA was permitted
136  AllowFPARMv8B = 8, // Use of the ARM v8-A FP ISA was permitted, but only
137  // D0-D15, S0-S31
138 
139  // Tag_WMMX_arch, (=11), uleb128
140  AllowWMMXv1 = 1, // The user permitted this entity to use WMMX v1
141  AllowWMMXv2 = 2, // The user permitted this entity to use WMMX v2
142 
143  // Tag_Advanced_SIMD_arch, (=12), uleb128
144  AllowNeon = 1, // SIMDv1 was permitted
145  AllowNeon2 = 2, // SIMDv2 was permitted (Half-precision FP, MAC operations)
146  AllowNeonARMv8 = 3, // ARM v8-A SIMD was permitted
147  AllowNeonARMv8_1a = 4,// ARM v8.1-A SIMD was permitted (RDMA)
148 
149  // Tag_MVE_arch, (=48), uleb128
150  AllowMVEInteger = 1, // integer-only MVE was permitted
151  AllowMVEIntegerAndFloat = 2, // both integer and floating point MVE were permitted
152 
153  // Tag_ABI_PCS_R9_use, (=14), uleb128
154  R9IsGPR = 0, // R9 used as v6 (just another callee-saved register)
155  R9IsSB = 1, // R9 used as a global static base rgister
156  R9IsTLSPointer = 2, // R9 used as a thread local storage pointer
157  R9Reserved = 3, // R9 not used by code associated with attributed entity
158 
159  // Tag_ABI_PCS_RW_data, (=15), uleb128
160  AddressRWPCRel = 1, // Address RW static data PC-relative
161  AddressRWSBRel = 2, // Address RW static data SB-relative
162  AddressRWNone = 3, // No RW static data permitted
163 
164  // Tag_ABI_PCS_RO_data, (=14), uleb128
165  AddressROPCRel = 1, // Address RO static data PC-relative
166  AddressRONone = 2, // No RO static data permitted
167 
168  // Tag_ABI_PCS_GOT_use, (=17), uleb128
169  AddressDirect = 1, // Address imported data directly
170  AddressGOT = 2, // Address imported data indirectly (via GOT)
171 
172  // Tag_ABI_PCS_wchar_t, (=18), uleb128
173  WCharProhibited = 0, // wchar_t is not used
174  WCharWidth2Bytes = 2, // sizeof(wchar_t) == 2
175  WCharWidth4Bytes = 4, // sizeof(wchar_t) == 4
176 
177  // Tag_ABI_align_needed, (=24), uleb128
181 
182  // Tag_ABI_align_needed, (=25), uleb128
186 
187  // Tag_ABI_FP_denormal, (=20), uleb128
190  PreserveFPSign = 2, // sign when flushed-to-zero is preserved
191 
192  // Tag_ABI_FP_number_model, (=23), uleb128
194  AllowRTABI = 2, // numbers, infinities, and one quiet NaN (see [RTABI])
195  AllowIEEE754 = 3, // this code to use all the IEEE 754-defined FP encodings
196 
197  // Tag_ABI_enum_size, (=26), uleb128
198  EnumProhibited = 0, // The user prohibited the use of enums when building
199  // this entity.
200  EnumSmallest = 1, // Enum is smallest container big enough to hold all
201  // values.
202  Enum32Bit = 2, // Enum is at least 32 bits.
203  Enum32BitABI = 3, // Every enumeration visible across an ABI-complying
204  // interface contains a value needing 32 bits to encode
205  // it; other enums can be containerized.
206 
207  // Tag_ABI_HardFP_use, (=27), uleb128
208  HardFPImplied = 0, // FP use should be implied by Tag_FP_arch
209  HardFPSinglePrecision = 1, // Single-precision only
210 
211  // Tag_ABI_VFP_args, (=28), uleb128
216 
217  // Tag_FP_HP_extension, (=36), uleb128
218  AllowHPFP = 1, // Allow use of Half Precision FP
219 
220  // Tag_FP_16bit_format, (=38), uleb128
222  FP16VFP3 = 2,
223 
224  // Tag_MPextension_use, (=42), uleb128
225  AllowMP = 1, // Allow use of MP extensions
226 
227  // Tag_DIV_use, (=44), uleb128
228  // Note: AllowDIVExt must be emitted if and only if the permission to use
229  // hardware divide cannot be conveyed using AllowDIVIfExists or DisallowDIV
230  AllowDIVIfExists = 0, // Allow hardware divide if available in arch, or no
231  // info exists.
232  DisallowDIV = 1, // Hardware divide explicitly disallowed.
233  AllowDIVExt = 2, // Allow hardware divide as optional architecture
234  // extension above the base arch specified by
235  // Tag_CPU_arch and Tag_CPU_arch_profile.
236 
237  // Tag_Virtualization_use, (=68), uleb128
238  AllowTZ = 1,
241 };
242 
243 } // namespace ARMBuildAttrs
244 } // namespace llvm
245 
246 #endif
llvm::ARMBuildAttrs::ARM_ISA_use
@ ARM_ISA_use
Definition: ARMBuildAttributes.h:41
llvm::ARMBuildAttrs::WMMX_arch
@ WMMX_arch
Definition: ARMBuildAttributes.h:44
llvm
Definition: AllocatorList.h:23
llvm::ARMBuildAttrs::ABI_PCS_R9_use
@ ABI_PCS_R9_use
Definition: ARMBuildAttributes.h:47
llvm::ARMBuildAttrs::R9IsGPR
@ R9IsGPR
Definition: ARMBuildAttributes.h:154
llvm::ARMBuildAttrs::Allowed
@ Allowed
Definition: ARMBuildAttributes.h:121
llvm::ARMBuildAttrs::ABI_WMMX_args
@ ABI_WMMX_args
Definition: ARMBuildAttributes.h:62
llvm::ARMBuildAttrs::SEL_CPU
@ SEL_CPU
Definition: ARMBuildAttributes.h:31
llvm::ARMBuildAttrs::v7E_M
@ v7E_M
Definition: ARMBuildAttributes.h:102
llvm::ARMBuildAttrs::Advanced_SIMD_arch
@ Advanced_SIMD_arch
Definition: ARMBuildAttributes.h:45
llvm::ARMBuildAttrs::ABI_align_preserved
@ ABI_align_preserved
Definition: ARMBuildAttributes.h:58
llvm::ARMBuildAttrs::ABI_enum_size
@ ABI_enum_size
Definition: ARMBuildAttributes.h:59
llvm::ARMBuildAttrs::T2EE_use
@ T2EE_use
Definition: ARMBuildAttributes.h:83
llvm::ARMBuildAttrs::AllowTZ
@ AllowTZ
Definition: ARMBuildAttributes.h:238
llvm::ARMBuildAttrs::Align4Byte
@ Align4Byte
Definition: ARMBuildAttributes.h:179
llvm::ARMBuildAttrs::ApplicationProfile
@ ApplicationProfile
Definition: ARMBuildAttributes.h:112
llvm::ARMBuildAttrs::CPU_arch_profile
@ CPU_arch_profile
Definition: ARMBuildAttributes.h:40
llvm::ARMBuildAttrs::R9IsTLSPointer
@ R9IsTLSPointer
Definition: ARMBuildAttributes.h:156
llvm::ARMBuildAttrs::DisallowDIV
@ DisallowDIV
Definition: ARMBuildAttributes.h:232
llvm::ARMBuildAttrs::v8_1_M_Main
@ v8_1_M_Main
Definition: ARMBuildAttributes.h:107
llvm::ARMBuildAttrs::v7
@ v7
Definition: ARMBuildAttributes.h:99
llvm::ARMBuildAttrs::also_compatible_with
@ also_compatible_with
Definition: ARMBuildAttributes.h:73
llvm::ARMBuildAttrs::AllowDIVIfExists
@ AllowDIVIfExists
Definition: ARMBuildAttributes.h:230
llvm::ARMBuildAttrs::AddressRWPCRel
@ AddressRWPCRel
Definition: ARMBuildAttributes.h:160
llvm::ARMBuildAttrs::MPextension_use
@ MPextension_use
Definition: ARMBuildAttributes.h:69
llvm::ARMBuildAttrs::ABI_align8_needed
@ ABI_align8_needed
Definition: ARMBuildAttributes.h:80
llvm::ARMBuildAttrs::Enum32BitABI
@ Enum32BitABI
Definition: ARMBuildAttributes.h:203
llvm::ARMBuildAttrs::SpecialAttr
SpecialAttr
Definition: ARMBuildAttributes.h:28
llvm::ARMBuildAttrs::Not_Allowed
@ Not_Allowed
Definition: ARMBuildAttributes.h:120
llvm::ARMBuildAttrs::AddressRWSBRel
@ AddressRWSBRel
Definition: ARMBuildAttributes.h:161
llvm::ARMBuildAttrs::CPU_unaligned_access
@ CPU_unaligned_access
Definition: ARMBuildAttributes.h:66
llvm::ARMBuildAttrs::BaseAAPCS
@ BaseAAPCS
Definition: ARMBuildAttributes.h:212
llvm::ARMBuildAttrs::conformance
@ conformance
Definition: ARMBuildAttributes.h:74
llvm::ARMBuildAttrs::AllowFPARMv8A
@ AllowFPARMv8A
Definition: ARMBuildAttributes.h:135
llvm::ARMBuildAttrs::Section
@ Section
Legacy Tags.
Definition: ARMBuildAttributes.h:78
llvm::ARMBuildAttrs::ABI_FP_exceptions
@ ABI_FP_exceptions
Definition: ARMBuildAttributes.h:54
llvm::ARMBuildAttrs::v5TE
@ v5TE
Definition: ARMBuildAttributes.h:93
llvm::ARMBuildAttrs::IEEEDenormals
@ IEEEDenormals
Definition: ARMBuildAttributes.h:189
llvm::ARMBuildAttrs::compatibility
@ compatibility
Definition: ARMBuildAttributes.h:65
llvm::ARMBuildAttrs::AllowNeonARMv8
@ AllowNeonARMv8
Definition: ARMBuildAttributes.h:146
llvm::ARMBuildAttrs::AllowIEEENormal
@ AllowIEEENormal
Definition: ARMBuildAttributes.h:193
llvm::ARMBuildAttrs::AllowMP
@ AllowMP
Definition: ARMBuildAttributes.h:225
llvm::ARMBuildAttrs::FP16VFP3
@ FP16VFP3
Definition: ARMBuildAttributes.h:222
llvm::ARMBuildAttrs::WCharProhibited
@ WCharProhibited
Definition: ARMBuildAttributes.h:173
llvm::ARMBuildAttrs::MPextension_use_old
@ MPextension_use_old
Definition: ARMBuildAttributes.h:84
llvm::ARMBuildAttrs::FP_arch
@ FP_arch
Definition: ARMBuildAttributes.h:43
llvm::ARMBuildAttrs::nodefaults
@ nodefaults
Definition: ARMBuildAttributes.h:82
llvm::ARMBuildAttrs::v6K
@ v6K
Definition: ARMBuildAttributes.h:98
llvm::ARMBuildAttrs::AllowFPv4B
@ AllowFPv4B
Definition: ARMBuildAttributes.h:134
llvm::ARMBuildAttrs::AddressRWNone
@ AddressRWNone
Definition: ARMBuildAttributes.h:162
llvm::ARMBuildAttrs::AddressDirect
@ AddressDirect
Definition: ARMBuildAttributes.h:169
llvm::ARMBuildAttrs::AllowWMMXv2
@ AllowWMMXv2
Definition: ARMBuildAttributes.h:141
llvm::ARMBuildAttrs::RealTimeProfile
@ RealTimeProfile
Definition: ARMBuildAttributes.h:113
llvm::ARMBuildAttrs::v8_M_Main
@ v8_M_Main
Definition: ARMBuildAttributes.h:106
llvm::ARMBuildAttrs::EnumSmallest
@ EnumSmallest
Definition: ARMBuildAttributes.h:200
llvm::ARMBuildAttrs::AllowRTABI
@ AllowRTABI
Definition: ARMBuildAttributes.h:194
llvm::ARMBuildAttrs::ABI_FP_rounding
@ ABI_FP_rounding
Definition: ARMBuildAttributes.h:52
llvm::ARMBuildAttrs::AddressROPCRel
@ AddressROPCRel
Definition: ARMBuildAttributes.h:165
llvm::ARMBuildAttrs::Enum32Bit
@ Enum32Bit
Definition: ARMBuildAttributes.h:202
llvm::ARMBuildAttrs::v6_M
@ v6_M
Definition: ARMBuildAttributes.h:100
ELFAttributes.h
llvm::ARMBuildAttrs::AllowTZVirtualization
@ AllowTZVirtualization
Definition: ARMBuildAttributes.h:240
llvm::ARMBuildAttrs::ARMAttributeTags
const TagNameMap ARMAttributeTags
llvm::ARMBuildAttrs::AllowNeon2
@ AllowNeon2
Definition: ARMBuildAttributes.h:145
llvm::ARMBuildAttrs::ABI_FP_denormal
@ ABI_FP_denormal
Definition: ARMBuildAttributes.h:53
llvm::ARMBuildAttrs::ABI_VFP_args
@ ABI_VFP_args
Definition: ARMBuildAttributes.h:61
llvm::ARMBuildAttrs::THUMB_ISA_use
@ THUMB_ISA_use
Definition: ARMBuildAttributes.h:42
llvm::ARMBuildAttrs::HardFPImplied
@ HardFPImplied
Definition: ARMBuildAttributes.h:208
llvm::ARMBuildAttrs::ToolChainFPPCS
@ ToolChainFPPCS
Definition: ARMBuildAttributes.h:214
llvm::ARMBuildAttrs::AllowMVEInteger
@ AllowMVEInteger
Definition: ARMBuildAttributes.h:150
llvm::ARMBuildAttrs::PositiveZero
@ PositiveZero
Definition: ARMBuildAttributes.h:188
llvm::ARMBuildAttrs::v6KZ
@ v6KZ
Definition: ARMBuildAttributes.h:96
llvm::ARMBuildAttrs::AddressRONone
@ AddressRONone
Definition: ARMBuildAttributes.h:166
llvm::ARMBuildAttrs::PCS_config
@ PCS_config
Definition: ARMBuildAttributes.h:46
llvm::ARMBuildAttrs::AlignReserved
@ AlignReserved
Definition: ARMBuildAttributes.h:180
llvm::ARMBuildAttrs::AllowMVEIntegerAndFloat
@ AllowMVEIntegerAndFloat
Definition: ARMBuildAttributes.h:151
llvm::ARMBuildAttrs::HardFPSinglePrecision
@ HardFPSinglePrecision
Definition: ARMBuildAttributes.h:209
llvm::ARMBuildAttrs::WCharWidth2Bytes
@ WCharWidth2Bytes
Definition: ARMBuildAttributes.h:174
llvm::ARMBuildAttrs::AllowFPv3B
@ AllowFPv3B
Definition: ARMBuildAttributes.h:132
llvm::ARMBuildAttrs::AlignNotPreserved
@ AlignNotPreserved
Definition: ARMBuildAttributes.h:183
llvm::ARMBuildAttrs::MicroControllerProfile
@ MicroControllerProfile
Definition: ARMBuildAttributes.h:114
llvm::ARMBuildAttrs::ABI_FP_optimization_goals
@ ABI_FP_optimization_goals
Definition: ARMBuildAttributes.h:64
llvm::ARMBuildAttrs::ABI_FP_number_model
@ ABI_FP_number_model
Definition: ARMBuildAttributes.h:56
llvm::ARMBuildAttrs::CPU_raw_name
@ CPU_raw_name
Definition: ARMBuildAttributes.h:37
llvm::ARMBuildAttrs::AddressGOT
@ AddressGOT
Definition: ARMBuildAttributes.h:170
llvm::ARMBuildAttrs::ABI_align_needed
@ ABI_align_needed
Definition: ARMBuildAttributes.h:57
llvm::ARMBuildAttrs::v6
@ v6
Definition: ARMBuildAttributes.h:95
llvm::ArrayRef< TagNameItem >
llvm::ARMBuildAttrs::v6T2
@ v6T2
Definition: ARMBuildAttributes.h:97
llvm::ARMBuildAttrs::ABI_FP_user_exceptions
@ ABI_FP_user_exceptions
Definition: ARMBuildAttributes.h:55
llvm::ARMBuildAttrs::v4
@ v4
Definition: ARMBuildAttributes.h:90
llvm::ARMBuildAttrs::DIV_use
@ DIV_use
Definition: ARMBuildAttributes.h:70
llvm::ARMBuildAttrs::CompatibleFPAAPCS
@ CompatibleFPAAPCS
Definition: ARMBuildAttributes.h:215
llvm::ARMBuildAttrs::ABI_optimization_goals
@ ABI_optimization_goals
Definition: ARMBuildAttributes.h:63
llvm::ARMBuildAttrs::AllowWMMXv1
@ AllowWMMXv1
Definition: ARMBuildAttributes.h:140
llvm::ARMBuildAttrs::AttrType
AttrType
Definition: ARMBuildAttributes.h:34
llvm::ARMBuildAttrs::v8_A
@ v8_A
Definition: ARMBuildAttributes.h:103
llvm::ARMBuildAttrs::AlignPreserve8Byte
@ AlignPreserve8Byte
Definition: ARMBuildAttributes.h:184
llvm::ARMBuildAttrs::ABI_PCS_RO_data
@ ABI_PCS_RO_data
Definition: ARMBuildAttributes.h:49
llvm::ARMBuildAttrs::ABI_align8_preserved
@ ABI_align8_preserved
Definition: ARMBuildAttributes.h:81
llvm::ARMBuildAttrs::WCharWidth4Bytes
@ WCharWidth4Bytes
Definition: ARMBuildAttributes.h:175
llvm::ARMBuildAttrs::MVE_arch
@ MVE_arch
Definition: ARMBuildAttributes.h:72
llvm::ARMBuildAttrs::HardFPAAPCS
@ HardFPAAPCS
Definition: ARMBuildAttributes.h:213
llvm::ARMBuildAttrs::FP16FormatIEEE
@ FP16FormatIEEE
Definition: ARMBuildAttributes.h:221
llvm::ARMBuildAttrs::Virtualization_use
@ Virtualization_use
Definition: ARMBuildAttributes.h:75
llvm::ARMBuildAttrs::SystemProfile
@ SystemProfile
Definition: ARMBuildAttributes.h:115
llvm::ARMBuildAttrs::v8_R
@ v8_R
Definition: ARMBuildAttributes.h:104
llvm::ARMBuildAttrs::ABI_PCS_RW_data
@ ABI_PCS_RW_data
Definition: ARMBuildAttributes.h:48
llvm::ARMBuildAttrs::AllowFPARMv8B
@ AllowFPARMv8B
Definition: ARMBuildAttributes.h:136
llvm::ARMBuildAttrs::R9IsSB
@ R9IsSB
Definition: ARMBuildAttributes.h:155
llvm::ARMBuildAttrs::AllowThumbDerived
@ AllowThumbDerived
Definition: ARMBuildAttributes.h:127
llvm::ARMBuildAttrs::AllowFPv3A
@ AllowFPv3A
Definition: ARMBuildAttributes.h:131
llvm::ARMBuildAttrs::v5T
@ v5T
Definition: ARMBuildAttributes.h:92
llvm::ARMBuildAttrs::ABI_PCS_wchar_t
@ ABI_PCS_wchar_t
Definition: ARMBuildAttributes.h:51
llvm::ARMBuildAttrs::ABI_PCS_GOT_use
@ ABI_PCS_GOT_use
Definition: ARMBuildAttributes.h:50
llvm::ARMBuildAttrs::CPU_arch
@ CPU_arch
Definition: ARMBuildAttributes.h:39
llvm::ARMBuildAttrs::AllowThumb32
@ AllowThumb32
Definition: ARMBuildAttributes.h:126
llvm::ARMBuildAttrs::AllowFPv4A
@ AllowFPv4A
Definition: ARMBuildAttributes.h:133
llvm::ARMBuildAttrs::v8_M_Base
@ v8_M_Base
Definition: ARMBuildAttributes.h:105
llvm::ARMBuildAttrs::Not_Applicable
@ Not_Applicable
Definition: ARMBuildAttributes.h:111
llvm::ARMBuildAttrs::Symbol
@ Symbol
Definition: ARMBuildAttributes.h:79
llvm::ARMBuildAttrs::EnumProhibited
@ EnumProhibited
Definition: ARMBuildAttributes.h:198
llvm::ARMBuildAttrs::AllowHPFP
@ AllowHPFP
Definition: ARMBuildAttributes.h:218
llvm::ARMBuildAttrs::Pre_v4
@ Pre_v4
Definition: ARMBuildAttributes.h:89
llvm::ARMBuildAttrs::v5TEJ
@ v5TEJ
Definition: ARMBuildAttributes.h:94
llvm::ARMBuildAttrs::DSP_extension
@ DSP_extension
Definition: ARMBuildAttributes.h:71
llvm::ARMBuildAttrs::FP_HP_extension
@ FP_HP_extension
Definition: ARMBuildAttributes.h:67
llvm::ARMBuildAttrs::AllowVirtualization
@ AllowVirtualization
Definition: ARMBuildAttributes.h:239
llvm::ARMBuildAttrs::v4T
@ v4T
Definition: ARMBuildAttributes.h:91
llvm::ARMBuildAttrs::ABI_HardFP_use
@ ABI_HardFP_use
Definition: ARMBuildAttributes.h:60
llvm::ARMBuildAttrs::R9Reserved
@ R9Reserved
Definition: ARMBuildAttributes.h:157
llvm::ARMBuildAttrs::AllowNeonARMv8_1a
@ AllowNeonARMv8_1a
Definition: ARMBuildAttributes.h:147
llvm::ARMBuildAttrs::CPU_name
@ CPU_name
Definition: ARMBuildAttributes.h:38
llvm::ARMBuildAttrs::AllowFPv2
@ AllowFPv2
Definition: ARMBuildAttributes.h:130
llvm::ARMBuildAttrs::CPUArch
CPUArch
Definition: ARMBuildAttributes.h:88
llvm::ARMBuildAttrs::AllowDIVExt
@ AllowDIVExt
Definition: ARMBuildAttributes.h:233
llvm::ARMBuildAttrs::File
@ File
Definition: ARMBuildAttributes.h:36
llvm::ARMBuildAttrs::PreserveFPSign
@ PreserveFPSign
Definition: ARMBuildAttributes.h:190
llvm::ARMBuildAttrs::v6S_M
@ v6S_M
Definition: ARMBuildAttributes.h:101
llvm::ARMBuildAttrs::CPUArchProfile
CPUArchProfile
Definition: ARMBuildAttributes.h:110
llvm::ARMBuildAttrs::AllowNeon
@ AllowNeon
Definition: ARMBuildAttributes.h:144
llvm::ARMBuildAttrs::Align8Byte
@ Align8Byte
Definition: ARMBuildAttributes.h:178
llvm::ARMBuildAttrs::ABI_FP_16bit_format
@ ABI_FP_16bit_format
Definition: ARMBuildAttributes.h:68
llvm::ARMBuildAttrs::AlignPreserveAll
@ AlignPreserveAll
Definition: ARMBuildAttributes.h:185
llvm::ARMBuildAttrs::AllowIEEE754
@ AllowIEEE754
Definition: ARMBuildAttributes.h:195