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