Test all <build attribute, value> pairs.

Add more tests to make sure the encoding/decoding of build attributes works
correctly for all permissible values of build attributes. For cases where there
are an infinite number of such values, a representative subset has been settled
for.

Change-Id: I2643c9624c211b2d56405306e16eec2d487bc5d6
llvm-svn: 222917
This commit is contained in:
Charlie Turner 2014-11-28 11:14:47 +00:00
parent 0bf088f50d
commit 0795093430
22 changed files with 1148 additions and 287 deletions

View File

@ -0,0 +1,234 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 0
@CHECK: .eabi_attribute 6, 0
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: Pre-v4
.eabi_attribute Tag_CPU_arch_profile, 0
@CHECK: .eabi_attribute 7, 0
@CHECK-OBJ: Tag: 7
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
@CHECK-OBJ-NEXT: Description: None
.eabi_attribute Tag_ARM_ISA_use, 0
@CHECK: .eabi_attribute 8, 0
@CHECK-OBJ: Tag: 8
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ARM_ISA_use
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_THUMB_ISA_use, 0
@CHECK: .eabi_attribute 9, 0
@CHECK-OBJ: Tag: 9
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_FP_arch, 0
@CHECK: .eabi_attribute 10, 0
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_WMMX_arch, 0
@CHECK: .eabi_attribute 11, 0
@CHECK-OBJ: Tag: 11
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: WMMX_arch
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_Advanced_SIMD_arch, 0
@CHECK: .eabi_attribute 12, 0
@CHECK-OBJ: Tag: 12
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_PCS_config, 0
@CHECK: .eabi_attribute 13, 0
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: None
.eabi_attribute Tag_ABI_PCS_R9_use, 0
@CHECK: .eabi_attribute 14, 0
@CHECK-OBJ: Tag: 14
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
@CHECK-OBJ-NEXT: Description: v6
.eabi_attribute Tag_ABI_PCS_RW_data, 0
@CHECK: .eabi_attribute 15, 0
@CHECK-OBJ: Tag: 15
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
@CHECK-OBJ-NEXT: Description: Absolute
.eabi_attribute Tag_ABI_PCS_RO_data, 0
@CHECK: .eabi_attribute 16, 0
@CHECK-OBJ: Tag: 16
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data
@CHECK-OBJ-NEXT: Description: Absolute
.eabi_attribute Tag_ABI_PCS_GOT_use, 0
@CHECK: .eabi_attribute 17, 0
@CHECK-OBJ: Tag: 17
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_PCS_wchar_t, 0
@CHECK: .eabi_attribute 18, 0
@CHECK-OBJ: Tag: 18
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_PCS_wchar_t
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_FP_rounding, 0
@CHECK: .eabi_attribute 19, 0
@CHECK-OBJ: Tag: 19
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_rounding
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_ABI_FP_denormal, 0
@CHECK: .eabi_attribute 20, 0
@CHECK-OBJ: Tag: 20
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal
@CHECK-OBJ-NEXT: Description: Unsupported
.eabi_attribute Tag_ABI_FP_exceptions, 0
@CHECK: .eabi_attribute 21, 0
@CHECK-OBJ: Tag: 21
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_exceptions
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_FP_user_exceptions, 0
@CHECK: .eabi_attribute 22, 0
@CHECK-OBJ: Tag: 22
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_user_exceptions
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_FP_number_model, 0
@CHECK: .eabi_attribute 23, 0
@CHECK-OBJ: Tag: 23
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_align_needed, 0
@CHECK: .eabi_attribute 24, 0
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_align_preserved, 0
@CHECK: .eabi_attribute 25, 0
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: Not Required
.eabi_attribute Tag_ABI_enum_size, 0
@CHECK: .eabi_attribute 26, 0
@CHECK-OBJ: Tag: 26
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_enum_size
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_HardFP_use, 0
@CHECK: .eabi_attribute 27, 0
@CHECK-OBJ: Tag: 27
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
@CHECK-OBJ-NEXT: Description: Tag_FP_arch
.eabi_attribute Tag_ABI_VFP_args, 0
@CHECK: .eabi_attribute 28, 0
@CHECK-OBJ: Tag: 28
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
@CHECK-OBJ-NEXT: Description: AAPCS
.eabi_attribute Tag_ABI_WMMX_args, 0
@CHECK: .eabi_attribute 29, 0
@CHECK-OBJ: Tag: 29
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args
@CHECK-OBJ-NEXT: Description: AAPCS
.eabi_attribute Tag_ABI_optimization_goals, 0
@CHECK: .eabi_attribute 30, 0
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: None
.eabi_attribute Tag_ABI_FP_optimization_goals, 0
@CHECK: .eabi_attribute 31, 0
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: None
.eabi_attribute Tag_compatibility, 0, "ARM"
@CHECK: .eabi_attribute 32, 0
@CHECK-OBJ: Tag: 32
@CHECK-OBJ-NEXT: Value: 0, ARM
@CHECK-OBJ-NEXT: TagName: compatibility
@CHECK-OBJ-NEXT: Description: No Specific Requirements
.eabi_attribute Tag_CPU_unaligned_access, 0
@CHECK: .eabi_attribute 34, 0
@CHECK-OBJ: Tag: 34
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: CPU_unaligned_access
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_FP_HP_extension, 0
@CHECK: .eabi_attribute 36, 0
@CHECK-OBJ: Tag: 36
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: FP_HP_extension
@CHECK-OBJ-NEXT: Description: If Available
.eabi_attribute Tag_ABI_FP_16bit_format, 0
@CHECK: .eabi_attribute 38, 0
@CHECK-OBJ: Tag: 38
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_MPextension_use, 0
@CHECK: .eabi_attribute 42, 0
@CHECK-OBJ: Tag: 42
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: MPextension_use
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_DIV_use, 0
@CHECK: .eabi_attribute 44, 0
@CHECK-OBJ: Tag: 44
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: DIV_use
@CHECK-OBJ-NEXT: Description: If Available
.eabi_attribute Tag_Virtualization_use, 0
@CHECK: .eabi_attribute 68, 0
@CHECK-OBJ: Tag: 68
@CHECK-OBJ-NEXT: Value: 0
@CHECK-OBJ-NEXT: TagName: Virtualization_use
@CHECK-OBJ-NEXT: Description: Not Permitted

View File

@ -0,0 +1,220 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 1
@CHECK: .eabi_attribute 6, 1
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v4
.eabi_attribute Tag_ARM_ISA_use, 1
@CHECK: .eabi_attribute 8, 1
@CHECK-OBJ: Tag: 8
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ARM_ISA_use
@CHECK-OBJ-NEXT: Description: Permitted
.eabi_attribute Tag_THUMB_ISA_use, 1
@CHECK: .eabi_attribute 9, 1
@CHECK-OBJ: Tag: 9
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use
@CHECK-OBJ-NEXT: Description: Thumb-1
.eabi_attribute Tag_FP_arch, 1
@CHECK: .eabi_attribute 10, 1
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv1
.eabi_attribute Tag_WMMX_arch, 1
@CHECK: .eabi_attribute 11, 1
@CHECK-OBJ: Tag: 11
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: WMMX_arch
@CHECK-OBJ-NEXT: Description: WMMXv1
.eabi_attribute Tag_Advanced_SIMD_arch, 1
@CHECK: .eabi_attribute 12, 1
@CHECK-OBJ: Tag: 12
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
@CHECK-OBJ-NEXT: Description: NEONv1
.eabi_attribute Tag_PCS_config, 1
@CHECK: .eabi_attribute 13, 1
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Bare Platform
.eabi_attribute Tag_ABI_PCS_R9_use, 1
@CHECK: .eabi_attribute 14, 1
@CHECK-OBJ: Tag: 14
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
@CHECK-OBJ-NEXT: Description: Static Base
.eabi_attribute Tag_ABI_PCS_RW_data, 1
@CHECK: .eabi_attribute 15, 1
@CHECK-OBJ: Tag: 15
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
@CHECK-OBJ-NEXT: Description: PC-relative
.eabi_attribute Tag_ABI_PCS_RO_data, 1
@CHECK: .eabi_attribute 16, 1
@CHECK-OBJ: Tag: 16
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data
@CHECK-OBJ-NEXT: Description: PC-relative
.eabi_attribute Tag_ABI_PCS_GOT_use, 1
@CHECK: .eabi_attribute 17, 1
@CHECK-OBJ: Tag: 17
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use
@CHECK-OBJ-NEXT: Description: Direct
.eabi_attribute Tag_ABI_FP_rounding, 1
@CHECK: .eabi_attribute 19, 1
@CHECK-OBJ: Tag: 19
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_rounding
@CHECK-OBJ-NEXT: Description: Runtime
.eabi_attribute Tag_ABI_FP_denormal, 1
@CHECK: .eabi_attribute 20, 1
@CHECK-OBJ: Tag: 20
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_ABI_FP_exceptions, 1
@CHECK: .eabi_attribute 21, 1
@CHECK-OBJ: Tag: 21
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_exceptions
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_ABI_FP_user_exceptions, 1
@CHECK: .eabi_attribute 22, 1
@CHECK-OBJ: Tag: 22
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_user_exceptions
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_ABI_FP_number_model, 1
@CHECK: .eabi_attribute 23, 1
@CHECK-OBJ: Tag: 23
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
@CHECK-OBJ-NEXT: Description: Finite Only
.eabi_attribute Tag_ABI_align_needed, 1
@CHECK: .eabi_attribute 24, 1
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment
.eabi_attribute Tag_ABI_align_preserved, 1
@CHECK: .eabi_attribute 25, 1
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte data alignment
.eabi_attribute Tag_ABI_enum_size, 1
@CHECK: .eabi_attribute 26, 1
@CHECK-OBJ: Tag: 26
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_enum_size
@CHECK-OBJ-NEXT: Description: Packed
.eabi_attribute Tag_ABI_HardFP_use, 1
@CHECK: .eabi_attribute 27, 1
@CHECK-OBJ: Tag: 27
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
@CHECK-OBJ-NEXT: Description: Single-Precision
.eabi_attribute Tag_ABI_VFP_args, 1
@CHECK: .eabi_attribute 28, 1
@CHECK-OBJ: Tag: 28
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
@CHECK-OBJ-NEXT: Description: AAPCS VFP
.eabi_attribute Tag_ABI_WMMX_args, 1
@CHECK: .eabi_attribute 29, 1
@CHECK-OBJ: Tag: 29
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args
@CHECK-OBJ-NEXT: Description: iWMMX
.eabi_attribute Tag_ABI_optimization_goals, 1
@CHECK: .eabi_attribute 30, 1
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Speed
.eabi_attribute Tag_ABI_FP_optimization_goals, 1
@CHECK: .eabi_attribute 31, 1
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Speed
.eabi_attribute Tag_compatibility, 1, ""
@CHECK: .eabi_attribute 32, 1
@CHECK-OBJ: Tag: 32
@CHECK-OBJ-NEXT: Value: 1,
@CHECK-OBJ-NEXT: TagName: compatibility
@CHECK-OBJ-NEXT: Description: AEABI Conformant
.eabi_attribute Tag_CPU_unaligned_access, 1
@CHECK: .eabi_attribute 34, 1
@CHECK-OBJ: Tag: 34
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: CPU_unaligned_access
@CHECK-OBJ-NEXT: Description: v6-style
.eabi_attribute Tag_FP_HP_extension, 1
@CHECK: .eabi_attribute 36, 1
@CHECK-OBJ: Tag: 36
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: FP_HP_extension
@CHECK-OBJ-NEXT: Description: Permitted
.eabi_attribute Tag_ABI_FP_16bit_format, 1
@CHECK: .eabi_attribute 38, 1
@CHECK-OBJ: Tag: 38
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_MPextension_use, 1
@CHECK: .eabi_attribute 42, 1
@CHECK-OBJ: Tag: 42
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: MPextension_use
@CHECK-OBJ-NEXT: Description: Permitted
.eabi_attribute Tag_DIV_use, 1
@CHECK: .eabi_attribute 44, 1
@CHECK-OBJ: Tag: 44
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: DIV_use
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_Virtualization_use, 1
@CHECK: .eabi_attribute 68, 1
@CHECK-OBJ: Tag: 68
@CHECK-OBJ-NEXT: Value: 1
@CHECK-OBJ-NEXT: TagName: Virtualization_use
@CHECK-OBJ-NEXT: Description: TrustZone

View File

@ -0,0 +1,24 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 10
@CHECK: .eabi_attribute 6, 10
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 10
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v7
.eabi_attribute Tag_ABI_align_needed, 10
@CHECK: .eabi_attribute 24, 10
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 10
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 1024-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 10
@CHECK: .eabi_attribute 25, 10
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 10
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 1024-byte data alignment

View File

@ -0,0 +1,24 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 11
@CHECK: .eabi_attribute 6, 11
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 11
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6-M
.eabi_attribute Tag_ABI_align_needed, 11
@CHECK: .eabi_attribute 24, 11
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 11
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 2048-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 11
@CHECK: .eabi_attribute 25, 11
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 11
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 2048-byte data alignment

View File

@ -0,0 +1,24 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 12
@CHECK: .eabi_attribute 6, 12
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 12
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6S-M
.eabi_attribute Tag_ABI_align_needed, 12
@CHECK: .eabi_attribute 24, 12
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 12
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 4096-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 12
@CHECK: .eabi_attribute 25, 12
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 12
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 4096-byte data alignment

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 13
@CHECK: .eabi_attribute 6, 13
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 13
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v7E-M

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_compatibility, 136, "Foo Corp"
@CHECK: .eabi_attribute 32, 136
@CHECK-OBJ: Tag: 32
@CHECK-OBJ-NEXT: Value: 136, Foo Corp
@CHECK-OBJ-NEXT: TagName: compatibility
@CHECK-OBJ-NEXT: Description: AEABI Non-Conformant

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 14
@CHECK: .eabi_attribute 6, 14
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 14
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v8

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_compatibility, 15, "Longer Corporation NaMe"
@CHECK: .eabi_attribute 32, 15
@CHECK-OBJ: Tag: 32
@CHECK-OBJ-NEXT: Value: 15, Longer Corporation NaMe
@CHECK-OBJ-NEXT: TagName: compatibility
@CHECK-OBJ-NEXT: Description: AEABI Non-Conformant

View File

@ -0,0 +1,178 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 2
@CHECK: .eabi_attribute 6, 2
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v4T
.eabi_attribute Tag_THUMB_ISA_use, 2
@CHECK: .eabi_attribute 9, 2
@CHECK-OBJ: Tag: 9
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: THUMB_ISA_use
@CHECK-OBJ-NEXT: Description: Thumb-2
.eabi_attribute Tag_FP_arch, 2
@CHECK: .eabi_attribute 10, 2
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv2
.eabi_attribute Tag_WMMX_arch, 2
@CHECK: .eabi_attribute 11, 2
@CHECK-OBJ: Tag: 11
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: WMMX_arch
@CHECK-OBJ-NEXT: Description: WMMXv2
.eabi_attribute Tag_Advanced_SIMD_arch, 2
@CHECK: .eabi_attribute 12, 2
@CHECK-OBJ: Tag: 12
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
@CHECK-OBJ-NEXT: Description: NEONv2+FMA
.eabi_attribute Tag_PCS_config, 2
@CHECK: .eabi_attribute 13, 2
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Linux Application
.eabi_attribute Tag_ABI_PCS_R9_use, 2
@CHECK: .eabi_attribute 14, 2
@CHECK-OBJ: Tag: 14
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
@CHECK-OBJ-NEXT: Description: TLS
.eabi_attribute Tag_ABI_PCS_RW_data, 2
@CHECK: .eabi_attribute 15, 2
@CHECK-OBJ: Tag: 15
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
@CHECK-OBJ-NEXT: Description: SB-relative
.eabi_attribute Tag_ABI_PCS_RO_data, 2
@CHECK: .eabi_attribute 16, 2
@CHECK-OBJ: Tag: 16
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RO_data
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_PCS_GOT_use, 2
@CHECK: .eabi_attribute 17, 2
@CHECK-OBJ: Tag: 17
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_PCS_GOT_use
@CHECK-OBJ-NEXT: Description: GOT-Indirect
.eabi_attribute Tag_ABI_PCS_wchar_t, 2
@CHECK: .eabi_attribute 18, 2
@CHECK-OBJ: Tag: 18
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_PCS_wchar_t
@CHECK-OBJ-NEXT: Description: 2-byte
.eabi_attribute Tag_ABI_FP_denormal, 2
@CHECK: .eabi_attribute 20, 2
@CHECK-OBJ: Tag: 20
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_FP_denormal
@CHECK-OBJ-NEXT: Description: Sign Only
.eabi_attribute Tag_ABI_FP_number_model, 2
@CHECK: .eabi_attribute 23, 2
@CHECK-OBJ: Tag: 23
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
@CHECK-OBJ-NEXT: Description: RTABI
.eabi_attribute Tag_ABI_align_needed, 2
@CHECK: .eabi_attribute 24, 2
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 4-byte alignment
.eabi_attribute Tag_ABI_align_preserved, 2
@CHECK: .eabi_attribute 25, 2
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte data and code alignment
.eabi_attribute Tag_ABI_enum_size, 2
@CHECK: .eabi_attribute 26, 2
@CHECK-OBJ: Tag: 26
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_enum_size
@CHECK-OBJ-NEXT: Description: Int32
.eabi_attribute Tag_ABI_HardFP_use, 2
@CHECK: .eabi_attribute 27, 2
@CHECK-OBJ: Tag: 27
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
@CHECK-OBJ-NEXT: Description: Reserved
.eabi_attribute Tag_ABI_VFP_args, 2
@CHECK: .eabi_attribute 28, 2
@CHECK-OBJ: Tag: 28
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
@CHECK-OBJ-NEXT: Description: Custom
.eabi_attribute Tag_ABI_WMMX_args, 2
@CHECK: .eabi_attribute 29, 2
@CHECK-OBJ: Tag: 29
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_WMMX_args
@CHECK-OBJ-NEXT: Description: Custom
.eabi_attribute Tag_ABI_optimization_goals, 2
@CHECK: .eabi_attribute 30, 2
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Aggressive Speed
.eabi_attribute Tag_ABI_FP_optimization_goals, 2
@CHECK: .eabi_attribute 31, 2
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Aggressive Speed
.eabi_attribute Tag_compatibility, 2, ""
@CHECK: .eabi_attribute 32, 2
@CHECK-OBJ: Tag: 32
@CHECK-OBJ-NEXT: Value: 2,
@CHECK-OBJ-NEXT: TagName: compatibility
@CHECK-OBJ-NEXT: Description: AEABI Non-Conformant
.eabi_attribute Tag_ABI_FP_16bit_format, 2
@CHECK: .eabi_attribute 38, 2
@CHECK-OBJ: Tag: 38
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: ABI_FP_16bit_format
@CHECK-OBJ-NEXT: Description: VFPv3
.eabi_attribute Tag_DIV_use, 2
@CHECK: .eabi_attribute 44, 2
@CHECK-OBJ: Tag: 44
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: DIV_use
@CHECK-OBJ-NEXT: Description: Permitted
.eabi_attribute Tag_Virtualization_use, 2
@CHECK: .eabi_attribute 68, 2
@CHECK-OBJ: Tag: 68
@CHECK-OBJ-NEXT: Value: 2
@CHECK-OBJ-NEXT: TagName: Virtualization_use
@CHECK-OBJ-NEXT: Description: Virtualization Extensions

View File

@ -0,0 +1,108 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 3
@CHECK: .eabi_attribute 6, 3
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v5T
.eabi_attribute Tag_FP_arch, 3
@CHECK: .eabi_attribute 10, 3
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv3
.eabi_attribute Tag_Advanced_SIMD_arch, 3
@CHECK: .eabi_attribute 12, 3
@CHECK-OBJ: Tag: 12
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: Advanced_SIMD_arch
@CHECK-OBJ-NEXT: Description: ARMv8-a NEON
.eabi_attribute Tag_PCS_config, 3
@CHECK: .eabi_attribute 13, 3
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Linux DSO
.eabi_attribute Tag_ABI_PCS_R9_use, 3
@CHECK: .eabi_attribute 14, 3
@CHECK-OBJ: Tag: 14
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_PCS_R9_use
@CHECK-OBJ-NEXT: Description: Unused
.eabi_attribute Tag_ABI_PCS_RW_data, 3
@CHECK: .eabi_attribute 15, 3
@CHECK-OBJ: Tag: 15
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_PCS_RW_data
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_FP_number_model, 3
@CHECK: .eabi_attribute 23, 3
@CHECK-OBJ: Tag: 23
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_FP_number_model
@CHECK-OBJ-NEXT: Description: IEEE-754
.eabi_attribute Tag_ABI_align_needed, 3
@CHECK: .eabi_attribute 24, 3
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: Reserved
.eabi_attribute Tag_ABI_align_preserved, 3
@CHECK: .eabi_attribute 25, 3
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: Reserved
.eabi_attribute Tag_ABI_enum_size, 3
@CHECK: .eabi_attribute 26, 3
@CHECK-OBJ: Tag: 26
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_enum_size
@CHECK-OBJ-NEXT: Description: External Int32
.eabi_attribute Tag_ABI_HardFP_use, 3
@CHECK: .eabi_attribute 27, 3
@CHECK-OBJ: Tag: 27
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_HardFP_use
@CHECK-OBJ-NEXT: Description: Tag_FP_arch (deprecated)
.eabi_attribute Tag_ABI_VFP_args, 3
@CHECK: .eabi_attribute 28, 3
@CHECK-OBJ: Tag: 28
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_VFP_args
@CHECK-OBJ-NEXT: Description: Not Permitted
.eabi_attribute Tag_ABI_optimization_goals, 3
@CHECK: .eabi_attribute 30, 3
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Size
.eabi_attribute Tag_ABI_FP_optimization_goals, 3
@CHECK: .eabi_attribute 31, 3
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Size
.eabi_attribute Tag_Virtualization_use, 3
@CHECK: .eabi_attribute 68, 3
@CHECK-OBJ: Tag: 68
@CHECK-OBJ-NEXT: Value: 3
@CHECK-OBJ-NEXT: TagName: Virtualization_use
@CHECK-OBJ-NEXT: Description: TrustZone + Virtualization Extensions

View File

@ -0,0 +1,59 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 4
@CHECK: .eabi_attribute 6, 4
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v5TE
.eabi_attribute Tag_FP_arch, 4
@CHECK: .eabi_attribute 10, 4
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv3-D16
.eabi_attribute Tag_PCS_config, 4
@CHECK: .eabi_attribute 13, 4
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Palm OS 2004
.eabi_attribute Tag_ABI_PCS_wchar_t, 4
@CHECK: .eabi_attribute 18, 4
@CHECK-OBJ: Tag: 18
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: ABI_PCS_wchar_t
@CHECK-OBJ-NEXT: Description: 4-byte
.eabi_attribute Tag_ABI_align_needed, 4
@CHECK: .eabi_attribute 24, 4
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 16-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 4
@CHECK: .eabi_attribute 25, 4
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 16-byte data alignment
.eabi_attribute Tag_ABI_optimization_goals, 4
@CHECK: .eabi_attribute 30, 4
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Aggressive Size
.eabi_attribute Tag_ABI_FP_optimization_goals, 4
@CHECK: .eabi_attribute 31, 4
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 4
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Aggressive Size

View File

@ -0,0 +1,52 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 5
@CHECK: .eabi_attribute 6, 5
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v5TEJ
.eabi_attribute Tag_FP_arch, 5
@CHECK: .eabi_attribute 10, 5
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv4
.eabi_attribute Tag_PCS_config, 5
@CHECK: .eabi_attribute 13, 5
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Reserved (Palm OS)
.eabi_attribute Tag_ABI_align_needed, 5
@CHECK: .eabi_attribute 24, 5
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 32-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 5
@CHECK: .eabi_attribute 25, 5
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 32-byte data alignment
.eabi_attribute Tag_ABI_optimization_goals, 5
@CHECK: .eabi_attribute 30, 5
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Debugging
.eabi_attribute Tag_ABI_FP_optimization_goals, 5
@CHECK: .eabi_attribute 31, 5
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 5
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Accuracy

View File

@ -0,0 +1,52 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 6
@CHECK: .eabi_attribute 6, 6
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6
.eabi_attribute Tag_FP_arch, 6
@CHECK: .eabi_attribute 10, 6
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: VFPv4-D16
.eabi_attribute Tag_PCS_config, 6
@CHECK: .eabi_attribute 13, 6
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Symbian OS 2004
.eabi_attribute Tag_ABI_align_needed, 6
@CHECK: .eabi_attribute 24, 6
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 64-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 6
@CHECK: .eabi_attribute 25, 6
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 64-byte data alignment
.eabi_attribute Tag_ABI_optimization_goals, 6
@CHECK: .eabi_attribute 30, 6
@CHECK-OBJ: Tag: 30
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: ABI_optimization_goals
@CHECK-OBJ-NEXT: Description: Best Debugging
.eabi_attribute Tag_ABI_FP_optimization_goals, 6
@CHECK: .eabi_attribute 31, 6
@CHECK-OBJ: Tag: 31
@CHECK-OBJ-NEXT: Value: 6
@CHECK-OBJ-NEXT: TagName: ABI_FP_optimization_goals
@CHECK-OBJ-NEXT: Description: Best Accuracy

View File

@ -0,0 +1,38 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 7
@CHECK: .eabi_attribute 6, 7
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 7
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6KZ
.eabi_attribute Tag_FP_arch, 7
@CHECK: .eabi_attribute 10, 7
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 7
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: ARMv8-a FP
.eabi_attribute Tag_PCS_config, 7
@CHECK: .eabi_attribute 13, 7
@CHECK-OBJ: Tag: 13
@CHECK-OBJ-NEXT: Value: 7
@CHECK-OBJ-NEXT: TagName: PCS_config
@CHECK-OBJ-NEXT: Description: Reserved (Symbian OS)
.eabi_attribute Tag_ABI_align_needed, 7
@CHECK: .eabi_attribute 24, 7
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 7
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 128-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 7
@CHECK: .eabi_attribute 25, 7
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 7
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 128-byte data alignment

View File

@ -0,0 +1,31 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 8
@CHECK: .eabi_attribute 6, 8
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 8
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6T2
.eabi_attribute Tag_FP_arch, 8
@CHECK: .eabi_attribute 10, 8
@CHECK-OBJ: Tag: 10
@CHECK-OBJ-NEXT: Value: 8
@CHECK-OBJ-NEXT: TagName: FP_arch
@CHECK-OBJ-NEXT: Description: ARMv8-a FP-D16
.eabi_attribute Tag_ABI_align_needed, 8
@CHECK: .eabi_attribute 24, 8
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 8
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 256-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 8
@CHECK: .eabi_attribute 25, 8
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 8
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 256-byte data alignment

View File

@ -0,0 +1,24 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch, 9
@CHECK: .eabi_attribute 6, 9
@CHECK-OBJ: Tag: 6
@CHECK-OBJ-NEXT: Value: 9
@CHECK-OBJ-NEXT: TagName: CPU_arch
@CHECK-OBJ-NEXT: Description: ARM v6K
.eabi_attribute Tag_ABI_align_needed, 9
@CHECK: .eabi_attribute 24, 9
@CHECK-OBJ: Tag: 24
@CHECK-OBJ-NEXT: Value: 9
@CHECK-OBJ-NEXT: TagName: ABI_align_needed
@CHECK-OBJ-NEXT: Description: 8-byte alignment, 512-byte extended alignment
.eabi_attribute Tag_ABI_align_preserved, 9
@CHECK: .eabi_attribute 25, 9
@CHECK-OBJ: Tag: 25
@CHECK-OBJ-NEXT: Value: 9
@CHECK-OBJ-NEXT: TagName: ABI_align_preserved
@CHECK-OBJ-NEXT: Description: 8-byte stack alignment, 512-byte data alignment

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch_profile, 'A'
@CHECK: .eabi_attribute 7, 65
@CHECK-OBJ: Tag: 7
@CHECK-OBJ-NEXT: Value: 65
@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
@CHECK-OBJ-NEXT: Description: Application

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch_profile, 'M'
@CHECK: .eabi_attribute 7, 77
@CHECK-OBJ: Tag: 7
@CHECK-OBJ-NEXT: Value: 77
@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
@CHECK-OBJ-NEXT: Description: Microcontroller

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch_profile, 'R'
@CHECK: .eabi_attribute 7, 82
@CHECK-OBJ: Tag: 7
@CHECK-OBJ-NEXT: Value: 82
@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
@CHECK-OBJ-NEXT: Description: Real-time

View File

@ -0,0 +1,10 @@
@ RUN: llvm-mc -triple armv7-elf -filetype asm -o - %s | FileCheck %s
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s --check-prefix=CHECK-OBJ
.eabi_attribute Tag_CPU_arch_profile, 'S'
@CHECK: .eabi_attribute 7, 83
@CHECK-OBJ: Tag: 7
@CHECK-OBJ-NEXT: Value: 83
@CHECK-OBJ-NEXT: TagName: CPU_arch_profile
@CHECK-OBJ-NEXT: Description: Classic

View File

@ -1,287 +0,0 @@
@ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s \
@ RUN: | llvm-readobj -arm-attributes - | FileCheck %s
.syntax unified
.cpu cortex-a8
.fpu neon
.eabi_attribute Tag_CPU_raw_name, "Cortex-A9"
.eabi_attribute Tag_CPU_name, "cortex-a9"
.eabi_attribute Tag_CPU_arch, 10
.eabi_attribute Tag_CPU_arch_profile, 'A'
.eabi_attribute Tag_ARM_ISA_use, 0
.eabi_attribute Tag_THUMB_ISA_use, 2
.eabi_attribute Tag_FP_arch, 3
.eabi_attribute Tag_WMMX_arch, 0
.eabi_attribute Tag_Advanced_SIMD_arch, 1
.eabi_attribute Tag_PCS_config, 2
.eabi_attribute Tag_ABI_PCS_R9_use, 0
.eabi_attribute Tag_ABI_PCS_RW_data, 0
.eabi_attribute Tag_ABI_PCS_RO_data, 0
.eabi_attribute Tag_ABI_PCS_GOT_use, 0
.eabi_attribute Tag_ABI_PCS_wchar_t, 4
.eabi_attribute Tag_ABI_FP_rounding, 1
.eabi_attribute Tag_ABI_FP_denormal, 2
.eabi_attribute Tag_ABI_FP_exceptions, 1
.eabi_attribute Tag_ABI_FP_user_exceptions, 1
.eabi_attribute Tag_ABI_FP_number_model, 3
.eabi_attribute Tag_ABI_align_needed, 1
.eabi_attribute Tag_ABI_align_preserved, 2
.eabi_attribute Tag_ABI_enum_size, 3
.eabi_attribute Tag_ABI_HardFP_use, 0
.eabi_attribute Tag_ABI_VFP_args, 1
.eabi_attribute Tag_ABI_WMMX_args, 0
.eabi_attribute Tag_ABI_optimization_goals, 2
.eabi_attribute Tag_ABI_FP_optimization_goals, 2
.eabi_attribute Tag_compatibility, 1
.eabi_attribute Tag_compatibility, 1, "aeabi"
.eabi_attribute Tag_CPU_unaligned_access, 0
.eabi_attribute Tag_FP_HP_extension, 0
.eabi_attribute Tag_ABI_FP_16bit_format, 0
.eabi_attribute Tag_MPextension_use, 0
.eabi_attribute Tag_DIV_use, 0
.eabi_attribute Tag_nodefaults, 0
.eabi_attribute Tag_also_compatible_with, "gnu"
.eabi_attribute Tag_T2EE_use, 0
.eabi_attribute Tag_conformance, "2.09"
.eabi_attribute Tag_Virtualization_use, 0
@ CHECK: BuildAttributes {
@ CHECK: Section 1 {
@ CHECK: Tag: Tag_File (0x1)
@ CHECK: FileAttributes {
@ CHECK: Attribute {
@ CHECK: Tag: 4
@ CHECK: TagName: CPU_raw_name
@ CHECK: Value: Cortex-A9
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 5
@ CHECK: TagName: CPU_name
@ CHECK: Value: cortex-a9
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 6
@ CHECK: Value: 10
@ CHECK: TagName: CPU_arch
@ CHECK: Description: ARM v7
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 7
@ CHECK: Value: 65
@ CHECK: TagName: CPU_arch_profile
@ CHECK: Description: Application
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 8
@ CHECK: Value: 0
@ CHECK: TagName: ARM_ISA_use
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 9
@ CHECK: Value: 2
@ CHECK: TagName: THUMB_ISA_use
@ CHECK: Description: Thumb-2
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 10
@ CHECK: Value: 3
@ CHECK: TagName: FP_arch
@ CHECK: Description: VFPv3
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 11
@ CHECK: Value: 0
@ CHECK: TagName: WMMX_arch
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 12
@ CHECK: Value: 1
@ CHECK: TagName: Advanced_SIMD_arch
@ CHECK: Description: NEONv1
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 13
@ CHECK: Value: 2
@ CHECK: TagName: PCS_config
@ CHECK: Description: Linux Application
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 14
@ CHECK: Value: 0
@ CHECK: TagName: ABI_PCS_R9_use
@ CHECK: Description: v6
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 15
@ CHECK: Value: 0
@ CHECK: TagName: ABI_PCS_RW_data
@ CHECK: Description: Absolute
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 16
@ CHECK: Value: 0
@ CHECK: TagName: ABI_PCS_RO_data
@ CHECK: Description: Absolute
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 17
@ CHECK: Value: 0
@ CHECK: TagName: ABI_PCS_GOT_use
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 18
@ CHECK: Value: 4
@ CHECK: TagName: ABI_PCS_wchar_t
@ CHECK: Description: 4-byte
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 19
@ CHECK: Value: 1
@ CHECK: TagName: ABI_FP_rounding
@ CHECK: Description: Runtime
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 20
@ CHECK: Value: 2
@ CHECK: TagName: ABI_FP_denormal
@ CHECK: Description: Sign Only
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 21
@ CHECK: Value: 1
@ CHECK: TagName: ABI_FP_exceptions
@ CHECK: Description: IEEE-754
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 22
@ CHECK: Value: 1
@ CHECK: TagName: ABI_FP_user_exceptions
@ CHECK: Description: IEEE-754
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 23
@ CHECK: Value: 3
@ CHECK: TagName: ABI_FP_number_model
@ CHECK: Description: IEEE-754
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 24
@ CHECK: Value: 1
@ CHECK: TagName: ABI_align_needed
@ CHECK: Description: 8-byte alignment
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 25
@ CHECK: Value: 2
@ CHECK: TagName: ABI_align_preserved
@ CHECK: Description: 8-byte data and code alignment
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 26
@ CHECK: Value: 3
@ CHECK: TagName: ABI_enum_size
@ CHECK: Description: External Int32
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 27
@ CHECK: Value: 0
@ CHECK: TagName: ABI_HardFP_use
@ CHECK: Description: Tag_FP_arch
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 28
@ CHECK: Value: 1
@ CHECK: TagName: ABI_VFP_args
@ CHECK: Description: AAPCS VFP
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 29
@ CHECK: Value: 0
@ CHECK: TagName: ABI_WMMX_args
@ CHECK: Description: AAPCS
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 30
@ CHECK: Value: 2
@ CHECK: TagName: ABI_optimization_goals
@ CHECK: Description: Aggressive Speed
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 31
@ CHECK: Value: 2
@ CHECK: TagName: ABI_FP_optimization_goals
@ CHECK: Description: Aggressive Speed
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 32
@ CHECK: Value: 1, aeabi
@ CHECK: TagName: compatibility
@ CHECK: Description: AEABI Conformant
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 34
@ CHECK: Value: 0
@ CHECK: TagName: CPU_unaligned_access
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 36
@ CHECK: Value: 0
@ CHECK: TagName: FP_HP_extension
@ CHECK: Description: If Available
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 38
@ CHECK: Value: 0
@ CHECK: TagName: ABI_FP_16bit_format
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 42
@ CHECK: Value: 0
@ CHECK: TagName: MPextension_use
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 44
@ CHECK: Value: 0
@ CHECK: TagName: DIV_use
@ CHECK: Description: If Available
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 64
@ CHECK: Value: 0
@ CHECK: TagName: nodefaults
@ CHECK: Description: Unspecified Tags UNDEFINED
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 65
@ CHECK: TagName: also_compatible_with
@ CHECK: Value: gnu
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 66
@ CHECK: Value: 0
@ CHECK: TagName: T2EE_use
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 67
@ CHECK: TagName: conformance
@ CHECK: Value: 2.09
@ CHECK: }
@ CHECK: Attribute {
@ CHECK: Tag: 68
@ CHECK: Value: 0
@ CHECK: TagName: Virtualization_use
@ CHECK: Description: Not Permitted
@ CHECK: }
@ CHECK: }
@ CHECK: }
@ CHECK: }