1ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
2ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
3ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@ RUN:   | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
4ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_CPU_arch, 2
5ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 6, 2
6ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 6
7ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
8ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: CPU_arch
9ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: ARM v4T
10ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
11ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_THUMB_ISA_use, 2
12ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 9, 2
13ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 9
14ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
15ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use
16ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Thumb-2
17ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
18ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_FP_arch, 2
19ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 10, 2
20ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 10
21ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
22ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: FP_arch
23ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: VFPv2
24ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
25ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_WMMX_arch, 2
26ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 11, 2
27ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 11
28ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
29ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: WMMX_arch
30ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: WMMXv2
31ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
32ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_Advanced_SIMD_arch, 2
33ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 12, 2
34ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 12
35ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
36ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
37ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: NEONv2+FMA
38ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
39ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_PCS_config, 2
40ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 13, 2
41ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 13
42ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
43ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: PCS_config
44ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Linux Application
45ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
46ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_PCS_R9_use, 2
47ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 14, 2
48ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 14
49ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
50ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
51ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: TLS
52ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
53ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_PCS_RW_data, 2
54ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 15, 2
55ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 15
56ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
57ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
58ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: SB-relative
59ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
60ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_PCS_RO_data, 2
61ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 16, 2
62ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 16
63ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
64ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data
65ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Not Permitted
66ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
67ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_PCS_GOT_use, 2
68ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 17, 2
69ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 17
70ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
71ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use
72ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: GOT-Indirect
73ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
74ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_PCS_wchar_t, 2
75ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 18, 2
76ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 18
77ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
78ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_PCS_wchar_t
79ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: 2-byte
80ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
81ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_FP_denormal, 2
82ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 20, 2
83ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 20
84ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
85ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal
86ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Sign Only
87ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
88ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_FP_number_model, 2
89ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 23, 2
90ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 23
91ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
92ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
93ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: RTABI
94ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
95ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_align_needed, 2
96ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 24, 2
97ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 24
98ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
99ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_align_needed
100ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: 4-byte alignment
101ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
102ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_align_preserved, 2
103ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 25, 2
104ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 25
105ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
106ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
107ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: 8-byte data and code alignment
108ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
109ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_enum_size, 2
110ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 26, 2
111ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 26
112ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
113ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_enum_size
114ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Int32
115ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
116ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_HardFP_use, 2
117ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 27, 2
118ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 27
119ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
120ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
121ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Reserved
122ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
123ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_VFP_args, 2
124ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 28, 2
125ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 28
126ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
127ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
128ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Custom
129ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
130ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_WMMX_args, 2
131ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 29, 2
132ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 29
133ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
134ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args
135ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Custom
136ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
137ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_optimization_goals, 2
138ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 30, 2
139ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 30
140ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
141ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
142ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Aggressive Speed
143ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
144ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_FP_optimization_goals, 2
145ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 31, 2
146ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 31
147ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
148ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
149ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Aggressive Speed
150ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
151ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_compatibility, 2, ""
152ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 32, 2
153ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 32
154ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2,
155ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: compatibility
156ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: AEABI Non-Conformant
157ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
158ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_ABI_FP_16bit_format, 2
159ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 38, 2
160ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 38
161ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
162ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format
163ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: VFPv3
164ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
165ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_DIV_use, 2
166ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 44, 2
167ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 44
168ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
169ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: DIV_use
170ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Permitted
171ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
172ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines.eabi_attribute  Tag_Virtualization_use, 2
173ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK:   .eabi_attribute 68, 2
174ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ: Tag: 68
175ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Value: 2
176ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: TagName: Virtualization_use
177ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines@CHECK-OBJ-NEXT: Description: Virtualization Extensions
178ebe69fe11e48d322045d5949c83283927a0d790bStephen Hines
179