| // 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_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: 70 |
| // CHECK-NEXT: Link: 0 |
| // CHECK-NEXT: Info: 0 |
| // CHECK-NEXT: AddressAlignment: 1 |
| // CHECK-NEXT: EntrySize: 0 |
| // CHECK-NEXT: SectionData ( |
| // CHECK-NEXT: 0000: 41450000 00616561 62690001 3B000000 |
| // CHECK-NEXT: 0010: 05434F52 5445582D 41380006 0A074108 |
| // CHECK-NEXT: 0020: 0109020A 030C0214 01150117 01180119 |
| // CHECK-NEXT: 0030: 011B001C 0124012A 012C0244 036EA001 |
| // CHECK-NEXT: 0040: 810101FA 0101 |
| // CHECK-NEXT: ) |