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, 1 5@CHECK: .eabi_attribute 6, 1 6@CHECK-OBJ: Tag: 6 7@CHECK-OBJ-NEXT: Value: 1 8@CHECK-OBJ-NEXT: TagName: CPU_arch 9@CHECK-OBJ-NEXT: Description: ARM v4 10 11.eabi_attribute Tag_ARM_ISA_use, 1 12@CHECK: .eabi_attribute 8, 1 13@CHECK-OBJ: Tag: 8 14@CHECK-OBJ-NEXT: Value: 1 15@CHECK-OBJ-NEXT: TagName: ARM_ISA_use 16@CHECK-OBJ-NEXT: Description: Permitted 17 18.eabi_attribute Tag_THUMB_ISA_use, 1 19@CHECK: .eabi_attribute 9, 1 20@CHECK-OBJ: Tag: 9 21@CHECK-OBJ-NEXT: Value: 1 22@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use 23@CHECK-OBJ-NEXT: Description: Thumb-1 24 25.eabi_attribute Tag_FP_arch, 1 26@CHECK: .eabi_attribute 10, 1 27@CHECK-OBJ: Tag: 10 28@CHECK-OBJ-NEXT: Value: 1 29@CHECK-OBJ-NEXT: TagName: FP_arch 30@CHECK-OBJ-NEXT: Description: VFPv1 31 32.eabi_attribute Tag_WMMX_arch, 1 33@CHECK: .eabi_attribute 11, 1 34@CHECK-OBJ: Tag: 11 35@CHECK-OBJ-NEXT: Value: 1 36@CHECK-OBJ-NEXT: TagName: WMMX_arch 37@CHECK-OBJ-NEXT: Description: WMMXv1 38 39.eabi_attribute Tag_Advanced_SIMD_arch, 1 40@CHECK: .eabi_attribute 12, 1 41@CHECK-OBJ: Tag: 12 42@CHECK-OBJ-NEXT: Value: 1 43@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch 44@CHECK-OBJ-NEXT: Description: NEONv1 45 46.eabi_attribute Tag_PCS_config, 1 47@CHECK: .eabi_attribute 13, 1 48@CHECK-OBJ: Tag: 13 49@CHECK-OBJ-NEXT: Value: 1 50@CHECK-OBJ-NEXT: TagName: PCS_config 51@CHECK-OBJ-NEXT: Description: Bare Platform 52 53.eabi_attribute Tag_ABI_PCS_R9_use, 1 54@CHECK: .eabi_attribute 14, 1 55@CHECK-OBJ: Tag: 14 56@CHECK-OBJ-NEXT: Value: 1 57@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use 58@CHECK-OBJ-NEXT: Description: Static Base 59 60.eabi_attribute Tag_ABI_PCS_RW_data, 1 61@CHECK: .eabi_attribute 15, 1 62@CHECK-OBJ: Tag: 15 63@CHECK-OBJ-NEXT: Value: 1 64@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data 65@CHECK-OBJ-NEXT: Description: PC-relative 66 67.eabi_attribute Tag_ABI_PCS_RO_data, 1 68@CHECK: .eabi_attribute 16, 1 69@CHECK-OBJ: Tag: 16 70@CHECK-OBJ-NEXT: Value: 1 71@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data 72@CHECK-OBJ-NEXT: Description: PC-relative 73 74.eabi_attribute Tag_ABI_PCS_GOT_use, 1 75@CHECK: .eabi_attribute 17, 1 76@CHECK-OBJ: Tag: 17 77@CHECK-OBJ-NEXT: Value: 1 78@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use 79@CHECK-OBJ-NEXT: Description: Direct 80 81.eabi_attribute Tag_ABI_FP_rounding, 1 82@CHECK: .eabi_attribute 19, 1 83@CHECK-OBJ: Tag: 19 84@CHECK-OBJ-NEXT: Value: 1 85@CHECK-OBJ-NEXT: TagName: ABI_FP_rounding 86@CHECK-OBJ-NEXT: Description: Runtime 87 88.eabi_attribute Tag_ABI_FP_denormal, 1 89@CHECK: .eabi_attribute 20, 1 90@CHECK-OBJ: Tag: 20 91@CHECK-OBJ-NEXT: Value: 1 92@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal 93@CHECK-OBJ-NEXT: Description: IEEE-754 94 95.eabi_attribute Tag_ABI_FP_exceptions, 1 96@CHECK: .eabi_attribute 21, 1 97@CHECK-OBJ: Tag: 21 98@CHECK-OBJ-NEXT: Value: 1 99@CHECK-OBJ-NEXT: TagName: ABI_FP_exceptions 100@CHECK-OBJ-NEXT: Description: IEEE-754 101 102.eabi_attribute Tag_ABI_FP_user_exceptions, 1 103@CHECK: .eabi_attribute 22, 1 104@CHECK-OBJ: Tag: 22 105@CHECK-OBJ-NEXT: Value: 1 106@CHECK-OBJ-NEXT: TagName: ABI_FP_user_exceptions 107@CHECK-OBJ-NEXT: Description: IEEE-754 108 109.eabi_attribute Tag_ABI_FP_number_model, 1 110@CHECK: .eabi_attribute 23, 1 111@CHECK-OBJ: Tag: 23 112@CHECK-OBJ-NEXT: Value: 1 113@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model 114@CHECK-OBJ-NEXT: Description: Finite Only 115 116.eabi_attribute Tag_ABI_align_needed, 1 117@CHECK: .eabi_attribute 24, 1 118@CHECK-OBJ: Tag: 24 119@CHECK-OBJ-NEXT: Value: 1 120@CHECK-OBJ-NEXT: TagName: ABI_align_needed 121@CHECK-OBJ-NEXT: Description: 8-byte alignment 122 123.eabi_attribute Tag_ABI_align_preserved, 1 124@CHECK: .eabi_attribute 25, 1 125@CHECK-OBJ: Tag: 25 126@CHECK-OBJ-NEXT: Value: 1 127@CHECK-OBJ-NEXT: TagName: ABI_align_preserved 128@CHECK-OBJ-NEXT: Description: 8-byte data alignment 129 130.eabi_attribute Tag_ABI_enum_size, 1 131@CHECK: .eabi_attribute 26, 1 132@CHECK-OBJ: Tag: 26 133@CHECK-OBJ-NEXT: Value: 1 134@CHECK-OBJ-NEXT: TagName: ABI_enum_size 135@CHECK-OBJ-NEXT: Description: Packed 136 137.eabi_attribute Tag_ABI_HardFP_use, 1 138@CHECK: .eabi_attribute 27, 1 139@CHECK-OBJ: Tag: 27 140@CHECK-OBJ-NEXT: Value: 1 141@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use 142@CHECK-OBJ-NEXT: Description: Single-Precision 143 144.eabi_attribute Tag_ABI_VFP_args, 1 145@CHECK: .eabi_attribute 28, 1 146@CHECK-OBJ: Tag: 28 147@CHECK-OBJ-NEXT: Value: 1 148@CHECK-OBJ-NEXT: TagName: ABI_VFP_args 149@CHECK-OBJ-NEXT: Description: AAPCS VFP 150 151.eabi_attribute Tag_ABI_WMMX_args, 1 152@CHECK: .eabi_attribute 29, 1 153@CHECK-OBJ: Tag: 29 154@CHECK-OBJ-NEXT: Value: 1 155@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args 156@CHECK-OBJ-NEXT: Description: iWMMX 157 158.eabi_attribute Tag_ABI_optimization_goals, 1 159@CHECK: .eabi_attribute 30, 1 160@CHECK-OBJ: Tag: 30 161@CHECK-OBJ-NEXT: Value: 1 162@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals 163@CHECK-OBJ-NEXT: Description: Speed 164 165.eabi_attribute Tag_ABI_FP_optimization_goals, 1 166@CHECK: .eabi_attribute 31, 1 167@CHECK-OBJ: Tag: 31 168@CHECK-OBJ-NEXT: Value: 1 169@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals 170@CHECK-OBJ-NEXT: Description: Speed 171 172.eabi_attribute Tag_compatibility, 1, "" 173@CHECK: .eabi_attribute 32, 1 174@CHECK-OBJ: Tag: 32 175@CHECK-OBJ-NEXT: Value: 1, 176@CHECK-OBJ-NEXT: TagName: compatibility 177@CHECK-OBJ-NEXT: Description: AEABI Conformant 178 179.eabi_attribute Tag_CPU_unaligned_access, 1 180@CHECK: .eabi_attribute 34, 1 181@CHECK-OBJ: Tag: 34 182@CHECK-OBJ-NEXT: Value: 1 183@CHECK-OBJ-NEXT: TagName: CPU_unaligned_access 184@CHECK-OBJ-NEXT: Description: v6-style 185 186.eabi_attribute Tag_FP_HP_extension, 1 187@CHECK: .eabi_attribute 36, 1 188@CHECK-OBJ: Tag: 36 189@CHECK-OBJ-NEXT: Value: 1 190@CHECK-OBJ-NEXT: TagName: FP_HP_extension 191@CHECK-OBJ-NEXT: Description: Permitted 192 193.eabi_attribute Tag_ABI_FP_16bit_format, 1 194@CHECK: .eabi_attribute 38, 1 195@CHECK-OBJ: Tag: 38 196@CHECK-OBJ-NEXT: Value: 1 197@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format 198@CHECK-OBJ-NEXT: Description: IEEE-754 199 200.eabi_attribute Tag_MPextension_use, 1 201@CHECK: .eabi_attribute 42, 1 202@CHECK-OBJ: Tag: 42 203@CHECK-OBJ-NEXT: Value: 1 204@CHECK-OBJ-NEXT: TagName: MPextension_use 205@CHECK-OBJ-NEXT: Description: Permitted 206 207.eabi_attribute Tag_DIV_use, 1 208@CHECK: .eabi_attribute 44, 1 209@CHECK-OBJ: Tag: 44 210@CHECK-OBJ-NEXT: Value: 1 211@CHECK-OBJ-NEXT: TagName: DIV_use 212@CHECK-OBJ-NEXT: Description: Not Permitted 213 214.eabi_attribute Tag_Virtualization_use, 1 215@CHECK: .eabi_attribute 68, 1 216@CHECK-OBJ: Tag: 68 217@CHECK-OBJ-NEXT: Value: 1 218@CHECK-OBJ-NEXT: TagName: Virtualization_use 219@CHECK-OBJ-NEXT: Description: TrustZone 220 221