1@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
2@ RUN:   | llvm-readobj -arm-attributes - | FileCheck %s
3
4	.syntax unified
5
6	.cpu cortex-a8
7	.fpu neon
8
9	.eabi_attribute Tag_CPU_raw_name, "Cortex-A9"
10	.eabi_attribute Tag_CPU_name, "cortex-a9"
11	.eabi_attribute Tag_CPU_arch, 10
12	.eabi_attribute Tag_CPU_arch_profile, 'A'
13	.eabi_attribute Tag_ARM_ISA_use, 0
14	.eabi_attribute Tag_THUMB_ISA_use, 2
15	.eabi_attribute Tag_FP_arch, 3
16	.eabi_attribute Tag_WMMX_arch, 0
17	.eabi_attribute Tag_Advanced_SIMD_arch, 1
18	.eabi_attribute Tag_PCS_config, 2
19	.eabi_attribute Tag_ABI_PCS_R9_use, 0
20	.eabi_attribute Tag_ABI_PCS_RW_data, 0
21	.eabi_attribute Tag_ABI_PCS_RO_data, 0
22	.eabi_attribute Tag_ABI_PCS_GOT_use, 0
23	.eabi_attribute Tag_ABI_PCS_wchar_t, 4
24	.eabi_attribute Tag_ABI_FP_rounding, 1
25	.eabi_attribute Tag_ABI_FP_denormal, 2
26	.eabi_attribute Tag_ABI_FP_exceptions, 1
27	.eabi_attribute Tag_ABI_FP_user_exceptions, 1
28	.eabi_attribute Tag_ABI_FP_number_model, 3
29	.eabi_attribute Tag_ABI_align_needed, 1
30	.eabi_attribute Tag_ABI_align_preserved, 2
31	.eabi_attribute Tag_ABI_enum_size, 3
32	.eabi_attribute Tag_ABI_HardFP_use, 0
33	.eabi_attribute Tag_ABI_VFP_args, 1
34	.eabi_attribute Tag_ABI_WMMX_args, 0
35	.eabi_attribute Tag_ABI_optimization_goals, 2
36	.eabi_attribute Tag_ABI_FP_optimization_goals, 2
37	.eabi_attribute Tag_compatibility, 1
38	.eabi_attribute Tag_compatibility, 1, "aeabi"
39	.eabi_attribute Tag_CPU_unaligned_access, 0
40	.eabi_attribute Tag_FP_HP_extension, 0
41	.eabi_attribute Tag_ABI_FP_16bit_format, 0
42	.eabi_attribute Tag_MPextension_use, 0
43	.eabi_attribute Tag_DIV_use, 0
44	.eabi_attribute Tag_nodefaults, 0
45	.eabi_attribute Tag_also_compatible_with, "gnu"
46	.eabi_attribute Tag_T2EE_use, 0
47	.eabi_attribute Tag_conformance, "2.09"
48	.eabi_attribute Tag_Virtualization_use, 0
49
50@ CHECK: BuildAttributes {
51@ CHECK:   Section 1 {
52@ CHECK:     Tag: Tag_File (0x1)
53@ CHECK:     FileAttributes {
54@ CHECK:       Attribute {
55@ CHECK:         Tag: 4
56@ CHECK:         TagName: CPU_raw_name
57@ CHECK:         Value: CORTEX-A9
58@ CHECK:       }
59@ CHECK:       Attribute {
60@ CHECK:         Tag: 5
61@ CHECK:         TagName: CPU_name
62@ CHECK:         Value: CORTEX-A9
63@ CHECK:       }
64@ CHECK:       Attribute {
65@ CHECK:         Tag: 6
66@ CHECK:         Value: 10
67@ CHECK:         TagName: CPU_arch
68@ CHECK:         Description: ARM v7
69@ CHECK:       }
70@ CHECK:       Attribute {
71@ CHECK:         Tag: 7
72@ CHECK:         Value: 65
73@ CHECK:         TagName: CPU_arch_profile
74@ CHECK:         Description: Application
75@ CHECK:       }
76@ CHECK:       Attribute {
77@ CHECK:         Tag: 8
78@ CHECK:         Value: 0
79@ CHECK:         TagName: ARM_ISA_use
80@ CHECK:         Description: Not Permitted
81@ CHECK:       }
82@ CHECK:       Attribute {
83@ CHECK:         Tag: 9
84@ CHECK:         Value: 2
85@ CHECK:         TagName: THUMB_ISA_use
86@ CHECK:         Description: Thumb-2
87@ CHECK:       }
88@ CHECK:       Attribute {
89@ CHECK:         Tag: 10
90@ CHECK:         Value: 3
91@ CHECK:         TagName: FP_arch
92@ CHECK:         Description: VFPv3
93@ CHECK:       }
94@ CHECK:       Attribute {
95@ CHECK:         Tag: 11
96@ CHECK:         Value: 0
97@ CHECK:         TagName: WMMX_arch
98@ CHECK:         Description: Not Permitted
99@ CHECK:       }
100@ CHECK:       Attribute {
101@ CHECK:         Tag: 12
102@ CHECK:         Value: 1
103@ CHECK:         TagName: Advanced_SIMD_arch
104@ CHECK:         Description: NEONv1
105@ CHECK:       }
106@ CHECK:       Attribute {
107@ CHECK:         Tag: 13
108@ CHECK:         Value: 2
109@ CHECK:         TagName: PCS_config
110@ CHECK:         Description: Linux Application
111@ CHECK:       }
112@ CHECK:       Attribute {
113@ CHECK:         Tag: 14
114@ CHECK:         Value: 0
115@ CHECK:         TagName: ABI_PCS_R9_use
116@ CHECK:         Description: v6
117@ CHECK:       }
118@ CHECK:       Attribute {
119@ CHECK:         Tag: 15
120@ CHECK:         Value: 0
121@ CHECK:         TagName: ABI_PCS_RW_data
122@ CHECK:         Description: Absolute
123@ CHECK:       }
124@ CHECK:       Attribute {
125@ CHECK:         Tag: 16
126@ CHECK:         Value: 0
127@ CHECK:         TagName: ABI_PCS_RO_data
128@ CHECK:         Description: Absolute
129@ CHECK:       }
130@ CHECK:       Attribute {
131@ CHECK:         Tag: 17
132@ CHECK:         Value: 0
133@ CHECK:         TagName: ABI_PCS_GOT_use
134@ CHECK:         Description: Not Permitted
135@ CHECK:       }
136@ CHECK:       Attribute {
137@ CHECK:         Tag: 18
138@ CHECK:         Value: 4
139@ CHECK:         TagName: ABI_PCS_wchar_t
140@ CHECK:         Description: 4-byte
141@ CHECK:       }
142@ CHECK:       Attribute {
143@ CHECK:         Tag: 19
144@ CHECK:         Value: 1
145@ CHECK:         TagName: ABI_FP_rounding
146@ CHECK:         Description: Runtime
147@ CHECK:       }
148@ CHECK:       Attribute {
149@ CHECK:         Tag: 20
150@ CHECK:         Value: 2
151@ CHECK:         TagName: ABI_FP_denormal
152@ CHECK:         Description: Sign Only
153@ CHECK:       }
154@ CHECK:       Attribute {
155@ CHECK:         Tag: 21
156@ CHECK:         Value: 1
157@ CHECK:         TagName: ABI_FP_exceptions
158@ CHECK:         Description: IEEE-754
159@ CHECK:       }
160@ CHECK:       Attribute {
161@ CHECK:         Tag: 22
162@ CHECK:         Value: 1
163@ CHECK:         TagName: ABI_FP_user_exceptions
164@ CHECK:         Description: IEEE-754
165@ CHECK:       }
166@ CHECK:       Attribute {
167@ CHECK:         Tag: 23
168@ CHECK:         Value: 3
169@ CHECK:         TagName: ABI_FP_number_model
170@ CHECK:         Description: IEEE-754
171@ CHECK:       }
172@ CHECK:       Attribute {
173@ CHECK:         Tag: 24
174@ CHECK:         Value: 1
175@ CHECK:         TagName: ABI_align_needed
176@ CHECK:         Description: 8-byte alignment
177@ CHECK:       }
178@ CHECK:       Attribute {
179@ CHECK:         Tag: 25
180@ CHECK:         Value: 2
181@ CHECK:         TagName: ABI_align_preserved
182@ CHECK:         Description: 8-byte data and code alignment
183@ CHECK:       }
184@ CHECK:       Attribute {
185@ CHECK:         Tag: 26
186@ CHECK:         Value: 3
187@ CHECK:         TagName: ABI_enum_size
188@ CHECK:         Description: External Int32
189@ CHECK:       }
190@ CHECK:       Attribute {
191@ CHECK:         Tag: 27
192@ CHECK:         Value: 0
193@ CHECK:         TagName: ABI_HardFP_use
194@ CHECK:         Description: Tag_FP_arch
195@ CHECK:       }
196@ CHECK:       Attribute {
197@ CHECK:         Tag: 28
198@ CHECK:         Value: 1
199@ CHECK:         TagName: ABI_VFP_args
200@ CHECK:         Description: AAPCS VFP
201@ CHECK:       }
202@ CHECK:       Attribute {
203@ CHECK:         Tag: 29
204@ CHECK:         Value: 0
205@ CHECK:         TagName: ABI_WMMX_args
206@ CHECK:         Description: AAPCS
207@ CHECK:       }
208@ CHECK:       Attribute {
209@ CHECK:         Tag: 30
210@ CHECK:         Value: 2
211@ CHECK:         TagName: ABI_optimization_goals
212@ CHECK:         Description: Aggressive Speed
213@ CHECK:       }
214@ CHECK:       Attribute {
215@ CHECK:         Tag: 31
216@ CHECK:         Value: 2
217@ CHECK:         TagName: ABI_FP_optimization_goals
218@ CHECK:         Description: Aggressive Speed
219@ CHECK:       }
220@ CHECK:       Attribute {
221@ CHECK:         Tag: 32
222@ CHECK:         Value: 1, AEABI
223@ CHECK:         TagName: compatibility
224@ CHECK:         Description: AEABI Conformant
225@ CHECK:       }
226@ CHECK:       Attribute {
227@ CHECK:         Tag: 34
228@ CHECK:         Value: 0
229@ CHECK:         TagName: CPU_unaligned_access
230@ CHECK:         Description: Not Permitted
231@ CHECK:       }
232@ CHECK:       Attribute {
233@ CHECK:         Tag: 36
234@ CHECK:         Value: 0
235@ CHECK:         TagName: FP_HP_extension
236@ CHECK:         Description: If Available
237@ CHECK:       }
238@ CHECK:       Attribute {
239@ CHECK:         Tag: 38
240@ CHECK:         Value: 0
241@ CHECK:         TagName: ABI_FP_16bit_format
242@ CHECK:         Description: Not Permitted
243@ CHECK:       }
244@ CHECK:       Attribute {
245@ CHECK:         Tag: 42
246@ CHECK:         Value: 0
247@ CHECK:         TagName: MPextension_use
248@ CHECK:         Description: Not Permitted
249@ CHECK:       }
250@ CHECK:       Attribute {
251@ CHECK:         Tag: 44
252@ CHECK:         Value: 0
253@ CHECK:         TagName: DIV_use
254@ CHECK:         Description: If Available
255@ CHECK:       }
256@ CHECK:       Attribute {
257@ CHECK:         Tag: 64
258@ CHECK:         Value: 0
259@ CHECK:         TagName: nodefaults
260@ CHECK:         Description: Unspecified Tags UNDEFINED
261@ CHECK:       }
262@ CHECK:       Attribute {
263@ CHECK:         Tag: 65
264@ CHECK:         TagName: also_compatible_with
265@ CHECK:         Value: GNU
266@ CHECK:       }
267@ CHECK:       Attribute {
268@ CHECK:         Tag: 66
269@ CHECK:         Value: 0
270@ CHECK:         TagName: T2EE_use
271@ CHECK:         Description: Not Permitted
272@ CHECK:       }
273@ CHECK:       Attribute {
274@ CHECK:         Tag: 67
275@ CHECK:         TagName: conformance
276@ CHECK:         Value: 2.09
277@ CHECK:       }
278@ CHECK:       Attribute {
279@ CHECK:         Tag: 68
280@ CHECK:         Value: 0
281@ CHECK:         TagName: Virtualization_use
282@ CHECK:         Description: Not Permitted
283@ CHECK:       }
284@ CHECK:     }
285@ CHECK:   }
286@ CHECK: }
287
288