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, 3
5@CHECK:   .eabi_attribute 6, 3
6@CHECK-OBJ: Tag: 6
7@CHECK-OBJ-NEXT: Value: 3
8@CHECK-OBJ-NEXT: TagName: CPU_arch
9@CHECK-OBJ-NEXT: Description: ARM v5T
10
11.eabi_attribute  Tag_FP_arch, 3
12@CHECK:   .eabi_attribute 10, 3
13@CHECK-OBJ: Tag: 10
14@CHECK-OBJ-NEXT: Value: 3
15@CHECK-OBJ-NEXT: TagName: FP_arch
16@CHECK-OBJ-NEXT: Description: VFPv3
17
18.eabi_attribute  Tag_Advanced_SIMD_arch, 3
19@CHECK:   .eabi_attribute 12, 3
20@CHECK-OBJ: Tag: 12
21@CHECK-OBJ-NEXT: Value: 3
22@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
23@CHECK-OBJ-NEXT: Description: ARMv8-a NEON
24
25.eabi_attribute  Tag_PCS_config, 3
26@CHECK:   .eabi_attribute 13, 3
27@CHECK-OBJ: Tag: 13
28@CHECK-OBJ-NEXT: Value: 3
29@CHECK-OBJ-NEXT: TagName: PCS_config
30@CHECK-OBJ-NEXT: Description: Linux DSO
31
32.eabi_attribute  Tag_ABI_PCS_R9_use, 3
33@CHECK:   .eabi_attribute 14, 3
34@CHECK-OBJ: Tag: 14
35@CHECK-OBJ-NEXT: Value: 3
36@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
37@CHECK-OBJ-NEXT: Description: Unused
38
39.eabi_attribute  Tag_ABI_PCS_RW_data, 3
40@CHECK:   .eabi_attribute 15, 3
41@CHECK-OBJ: Tag: 15
42@CHECK-OBJ-NEXT: Value: 3
43@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
44@CHECK-OBJ-NEXT: Description: Not Permitted
45
46.eabi_attribute  Tag_ABI_FP_number_model, 3
47@CHECK:   .eabi_attribute 23, 3
48@CHECK-OBJ: Tag: 23
49@CHECK-OBJ-NEXT: Value: 3
50@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
51@CHECK-OBJ-NEXT: Description: IEEE-754
52
53.eabi_attribute  Tag_ABI_align_needed, 3
54@CHECK:   .eabi_attribute 24, 3
55@CHECK-OBJ: Tag: 24
56@CHECK-OBJ-NEXT: Value: 3
57@CHECK-OBJ-NEXT: TagName: ABI_align_needed
58@CHECK-OBJ-NEXT: Description: Reserved
59
60.eabi_attribute  Tag_ABI_align_preserved, 3
61@CHECK:   .eabi_attribute 25, 3
62@CHECK-OBJ: Tag: 25
63@CHECK-OBJ-NEXT: Value: 3
64@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
65@CHECK-OBJ-NEXT: Description: Reserved
66
67.eabi_attribute  Tag_ABI_enum_size, 3
68@CHECK:   .eabi_attribute 26, 3
69@CHECK-OBJ: Tag: 26
70@CHECK-OBJ-NEXT: Value: 3
71@CHECK-OBJ-NEXT: TagName: ABI_enum_size
72@CHECK-OBJ-NEXT: Description: External Int32
73
74.eabi_attribute  Tag_ABI_HardFP_use, 3
75@CHECK:   .eabi_attribute 27, 3
76@CHECK-OBJ: Tag: 27
77@CHECK-OBJ-NEXT: Value: 3
78@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
79@CHECK-OBJ-NEXT: Description: Tag_FP_arch (deprecated)
80
81.eabi_attribute  Tag_ABI_VFP_args, 3
82@CHECK:   .eabi_attribute 28, 3
83@CHECK-OBJ: Tag: 28
84@CHECK-OBJ-NEXT: Value: 3
85@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
86@CHECK-OBJ-NEXT: Description: Not Permitted
87
88.eabi_attribute  Tag_ABI_optimization_goals, 3
89@CHECK:   .eabi_attribute 30, 3
90@CHECK-OBJ: Tag: 30
91@CHECK-OBJ-NEXT: Value: 3
92@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
93@CHECK-OBJ-NEXT: Description: Size
94
95.eabi_attribute  Tag_ABI_FP_optimization_goals, 3
96@CHECK:   .eabi_attribute 31, 3
97@CHECK-OBJ: Tag: 31
98@CHECK-OBJ-NEXT: Value: 3
99@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
100@CHECK-OBJ-NEXT: Description: Size
101
102.eabi_attribute  Tag_Virtualization_use, 3
103@CHECK:   .eabi_attribute 68, 3
104@CHECK-OBJ: Tag: 68
105@CHECK-OBJ-NEXT: Value: 3
106@CHECK-OBJ-NEXT: TagName: Virtualization_use
107@CHECK-OBJ-NEXT: Description: TrustZone + Virtualization Extensions
108
109