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