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