1@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
2@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
3@ RUN:   | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
4.eabi_attribute  Tag_CPU_arch, 0
5@CHECK:   .eabi_attribute 6, 0
6@CHECK-OBJ: Tag: 6
7@CHECK-OBJ-NEXT: Value: 0
8@CHECK-OBJ-NEXT: TagName: CPU_arch
9@CHECK-OBJ-NEXT: Description: Pre-v4
10
11.eabi_attribute  Tag_CPU_arch_profile, 0
12@CHECK:   .eabi_attribute 7, 0
13@CHECK-OBJ: Tag: 7
14@CHECK-OBJ-NEXT: Value: 0
15@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
16@CHECK-OBJ-NEXT: Description: None
17
18.eabi_attribute  Tag_ARM_ISA_use, 0
19@CHECK:   .eabi_attribute 8, 0
20@CHECK-OBJ: Tag: 8
21@CHECK-OBJ-NEXT: Value: 0
22@CHECK-OBJ-NEXT: TagName: ARM_ISA_use
23@CHECK-OBJ-NEXT: Description: Not Permitted
24
25.eabi_attribute  Tag_THUMB_ISA_use, 0
26@CHECK:   .eabi_attribute 9, 0
27@CHECK-OBJ: Tag: 9
28@CHECK-OBJ-NEXT: Value: 0
29@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use
30@CHECK-OBJ-NEXT: Description: Not Permitted
31
32.eabi_attribute  Tag_FP_arch, 0
33@CHECK:   .eabi_attribute 10, 0
34@CHECK-OBJ: Tag: 10
35@CHECK-OBJ-NEXT: Value: 0
36@CHECK-OBJ-NEXT: TagName: FP_arch
37@CHECK-OBJ-NEXT: Description: Not Permitted
38
39.eabi_attribute  Tag_WMMX_arch, 0
40@CHECK:   .eabi_attribute 11, 0
41@CHECK-OBJ: Tag: 11
42@CHECK-OBJ-NEXT: Value: 0
43@CHECK-OBJ-NEXT: TagName: WMMX_arch
44@CHECK-OBJ-NEXT: Description: Not Permitted
45
46.eabi_attribute  Tag_Advanced_SIMD_arch, 0
47@CHECK:   .eabi_attribute 12, 0
48@CHECK-OBJ: Tag: 12
49@CHECK-OBJ-NEXT: Value: 0
50@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
51@CHECK-OBJ-NEXT: Description: Not Permitted
52
53.eabi_attribute  Tag_PCS_config, 0
54@CHECK:   .eabi_attribute 13, 0
55@CHECK-OBJ: Tag: 13
56@CHECK-OBJ-NEXT: Value: 0
57@CHECK-OBJ-NEXT: TagName: PCS_config
58@CHECK-OBJ-NEXT: Description: None
59
60.eabi_attribute  Tag_ABI_PCS_R9_use, 0
61@CHECK:   .eabi_attribute 14, 0
62@CHECK-OBJ: Tag: 14
63@CHECK-OBJ-NEXT: Value: 0
64@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
65@CHECK-OBJ-NEXT: Description: v6
66
67.eabi_attribute  Tag_ABI_PCS_RW_data, 0
68@CHECK:   .eabi_attribute 15, 0
69@CHECK-OBJ: Tag: 15
70@CHECK-OBJ-NEXT: Value: 0
71@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
72@CHECK-OBJ-NEXT: Description: Absolute
73
74.eabi_attribute  Tag_ABI_PCS_RO_data, 0
75@CHECK:   .eabi_attribute 16, 0
76@CHECK-OBJ: Tag: 16
77@CHECK-OBJ-NEXT: Value: 0
78@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data
79@CHECK-OBJ-NEXT: Description: Absolute
80
81.eabi_attribute  Tag_ABI_PCS_GOT_use, 0
82@CHECK:   .eabi_attribute 17, 0
83@CHECK-OBJ: Tag: 17
84@CHECK-OBJ-NEXT: Value: 0
85@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use
86@CHECK-OBJ-NEXT: Description: Not Permitted
87
88.eabi_attribute  Tag_ABI_PCS_wchar_t, 0
89@CHECK:   .eabi_attribute 18, 0
90@CHECK-OBJ: Tag: 18
91@CHECK-OBJ-NEXT: Value: 0
92@CHECK-OBJ-NEXT: TagName: ABI_PCS_wchar_t
93@CHECK-OBJ-NEXT: Description: Not Permitted
94
95.eabi_attribute  Tag_ABI_FP_rounding, 0
96@CHECK:   .eabi_attribute 19, 0
97@CHECK-OBJ: Tag: 19
98@CHECK-OBJ-NEXT: Value: 0
99@CHECK-OBJ-NEXT: TagName: ABI_FP_rounding
100@CHECK-OBJ-NEXT: Description: IEEE-754
101
102.eabi_attribute  Tag_ABI_FP_denormal, 0
103@CHECK:   .eabi_attribute 20, 0
104@CHECK-OBJ: Tag: 20
105@CHECK-OBJ-NEXT: Value: 0
106@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal
107@CHECK-OBJ-NEXT: Description: Unsupported
108
109.eabi_attribute  Tag_ABI_FP_exceptions, 0
110@CHECK:   .eabi_attribute 21, 0
111@CHECK-OBJ: Tag: 21
112@CHECK-OBJ-NEXT: Value: 0
113@CHECK-OBJ-NEXT: TagName: ABI_FP_exceptions
114@CHECK-OBJ-NEXT: Description: Not Permitted
115
116.eabi_attribute  Tag_ABI_FP_user_exceptions, 0
117@CHECK:   .eabi_attribute 22, 0
118@CHECK-OBJ: Tag: 22
119@CHECK-OBJ-NEXT: Value: 0
120@CHECK-OBJ-NEXT: TagName: ABI_FP_user_exceptions
121@CHECK-OBJ-NEXT: Description: Not Permitted
122
123.eabi_attribute  Tag_ABI_FP_number_model, 0
124@CHECK:   .eabi_attribute 23, 0
125@CHECK-OBJ: Tag: 23
126@CHECK-OBJ-NEXT: Value: 0
127@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
128@CHECK-OBJ-NEXT: Description: Not Permitted
129
130.eabi_attribute  Tag_ABI_align_needed, 0
131@CHECK:   .eabi_attribute 24, 0
132@CHECK-OBJ: Tag: 24
133@CHECK-OBJ-NEXT: Value: 0
134@CHECK-OBJ-NEXT: TagName: ABI_align_needed
135@CHECK-OBJ-NEXT: Description: Not Permitted
136
137.eabi_attribute  Tag_ABI_align_preserved, 0
138@CHECK:   .eabi_attribute 25, 0
139@CHECK-OBJ: Tag: 25
140@CHECK-OBJ-NEXT: Value: 0
141@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
142@CHECK-OBJ-NEXT: Description: Not Required
143
144.eabi_attribute  Tag_ABI_enum_size, 0
145@CHECK:   .eabi_attribute 26, 0
146@CHECK-OBJ: Tag: 26
147@CHECK-OBJ-NEXT: Value: 0
148@CHECK-OBJ-NEXT: TagName: ABI_enum_size
149@CHECK-OBJ-NEXT: Description: Not Permitted
150
151.eabi_attribute  Tag_ABI_HardFP_use, 0
152@CHECK:   .eabi_attribute 27, 0
153@CHECK-OBJ: Tag: 27
154@CHECK-OBJ-NEXT: Value: 0
155@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
156@CHECK-OBJ-NEXT: Description: Tag_FP_arch
157
158.eabi_attribute  Tag_ABI_VFP_args, 0
159@CHECK:   .eabi_attribute 28, 0
160@CHECK-OBJ: Tag: 28
161@CHECK-OBJ-NEXT: Value: 0
162@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
163@CHECK-OBJ-NEXT: Description: AAPCS
164
165.eabi_attribute  Tag_ABI_WMMX_args, 0
166@CHECK:   .eabi_attribute 29, 0
167@CHECK-OBJ: Tag: 29
168@CHECK-OBJ-NEXT: Value: 0
169@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args
170@CHECK-OBJ-NEXT: Description: AAPCS
171
172.eabi_attribute  Tag_ABI_optimization_goals, 0
173@CHECK:   .eabi_attribute 30, 0
174@CHECK-OBJ: Tag: 30
175@CHECK-OBJ-NEXT: Value: 0
176@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
177@CHECK-OBJ-NEXT: Description: None
178
179.eabi_attribute  Tag_ABI_FP_optimization_goals, 0
180@CHECK:   .eabi_attribute 31, 0
181@CHECK-OBJ: Tag: 31
182@CHECK-OBJ-NEXT: Value: 0
183@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
184@CHECK-OBJ-NEXT: Description: None
185
186.eabi_attribute  Tag_compatibility, 0, "ARM"
187@CHECK:   .eabi_attribute 32, 0
188@CHECK-OBJ: Tag: 32
189@CHECK-OBJ-NEXT: Value: 0, ARM
190@CHECK-OBJ-NEXT: TagName: compatibility
191@CHECK-OBJ-NEXT: Description: No Specific Requirements
192
193.eabi_attribute  Tag_CPU_unaligned_access, 0
194@CHECK:   .eabi_attribute 34, 0
195@CHECK-OBJ: Tag: 34
196@CHECK-OBJ-NEXT: Value: 0
197@CHECK-OBJ-NEXT: TagName: CPU_unaligned_access
198@CHECK-OBJ-NEXT: Description: Not Permitted
199
200.eabi_attribute  Tag_FP_HP_extension, 0
201@CHECK:   .eabi_attribute 36, 0
202@CHECK-OBJ: Tag: 36
203@CHECK-OBJ-NEXT: Value: 0
204@CHECK-OBJ-NEXT: TagName: FP_HP_extension
205@CHECK-OBJ-NEXT: Description: If Available
206
207.eabi_attribute  Tag_ABI_FP_16bit_format, 0
208@CHECK:   .eabi_attribute 38, 0
209@CHECK-OBJ: Tag: 38
210@CHECK-OBJ-NEXT: Value: 0
211@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format
212@CHECK-OBJ-NEXT: Description: Not Permitted
213
214.eabi_attribute  Tag_MPextension_use, 0
215@CHECK:   .eabi_attribute 42, 0
216@CHECK-OBJ: Tag: 42
217@CHECK-OBJ-NEXT: Value: 0
218@CHECK-OBJ-NEXT: TagName: MPextension_use
219@CHECK-OBJ-NEXT: Description: Not Permitted
220
221.eabi_attribute  Tag_DIV_use, 0
222@CHECK:   .eabi_attribute 44, 0
223@CHECK-OBJ: Tag: 44
224@CHECK-OBJ-NEXT: Value: 0
225@CHECK-OBJ-NEXT: TagName: DIV_use
226@CHECK-OBJ-NEXT: Description: If Available
227
228.eabi_attribute  Tag_Virtualization_use, 0
229@CHECK:   .eabi_attribute 68, 0
230@CHECK-OBJ: Tag: 68
231@CHECK-OBJ-NEXT: Value: 0
232@CHECK-OBJ-NEXT: TagName: Virtualization_use
233@CHECK-OBJ-NEXT: Description: Not Permitted
234
235