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