1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/CodeGen/ARM/build-attributes-encoding.s
Bradley Smith 849b958836 [ARM] Add DSP build attribute and extension targeting
This patch was originally committed as r257885, but was reverted due to windows
failures. The cause of these failures has been fixed under r258677, hence
re-committing the original patch.

llvm-svn: 258683
2016-01-25 11:26:11 +00:00

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: )