89 lines
2.0 KiB
ArmAsm
89 lines
2.0 KiB
ArmAsm
// 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: )
|