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