// This tests that ARM attributes are properly encoded.

// RUN: llvm-mc < %s -triple=arm-linux-gnueabi -filetype=obj -o - \
// RUN:   | llvm-readobj -s -sd | FileCheck %s

// Tag_CPU_name (=5)
.cpu cortex-a8

// Tag_CPU_arch (=6)
.eabi_attribute 6, 10

// Tag_arch_profile (=7)
.eabi_attribute 7, 'A'

// Tag_ARM_ISA_use (=8)
.eabi_attribute 8, 1

// Tag_THUMB_ISA_use (=9)
.eabi_attribute 9, 2

// Tag_FP_arch (=10)
.fpu vfpv3

// Tag_Advanced_SIMD_arch (=12)
.eabi_attribute 12, 2

// Tag_ABI_FP_denormal (=20)
.eabi_attribute 20, 1

// Tag_ABI_FP_exceptions (=21)
.eabi_attribute 21, 1

// Tag_ABI_FP_number_model (=23)
.eabi_attribute 23, 1

// Tag_ABI_align_needed (=24)
.eabi_attribute 24, 1

// Tag_ABI_align_preserved (=25)
.eabi_attribute 25, 1

// Tag_ABI_HardFP_use (=27)
.eabi_attribute 27, 0

// Tag_ABI_VFP_args (=28)
.eabi_attribute 28, 1

// Tag_FP_HP_extension (=36)
.eabi_attribute 36, 1

// Tag_MPextension_use (=42)
.eabi_attribute 42, 1

// Tag_DIV_use (=44)
.eabi_attribute 44, 2

// Tag_DSP_extension (=46)
.eabi_attribute 46, 1

// Tag_Virtualization_use (=68)
.eabi_attribute 68, 3

// Check that values > 128 are encoded properly
.eabi_attribute 110, 160

// Check that tags > 128 are encoded properly
.eabi_attribute 129, "1"
.eabi_attribute 250, 1

// CHECK:        Section {
// CHECK:          Name: .ARM.attributes
// CHECK-NEXT:     Type: SHT_ARM_ATTRIBUTES
// CHECK-NEXT:     Flags [ (0x0)
// CHECK-NEXT:     ]
// CHECK-NEXT:     Address: 0x0
// CHECK-NEXT:     Offset: 0x34
// CHECK-NEXT:     Size: 73
// CHECK-NEXT:     Link: 0
// CHECK-NEXT:     Info: 0
// CHECK-NEXT:     AddressAlignment: 1
// CHECK-NEXT:     EntrySize: 0
// CHECK-NEXT:     SectionData (
// CHECK-NEXT:       0000: 41480000 00616561 62690001 3E000000
// CHECK-NEXT:       0010: 05636F72 7465782D 61380006 0A074108
// CHECK-NEXT:       0020: 0109020A 030C0214 01150117 01180119
// CHECK-NEXT:       0030: 011B001C 0124012A 012C022E 0144036E
// CHECK-NEXT:       0040: A0018101 3100FA01 01
// CHECK-NEXT:     )
