blob: 5649726c12bb8d3ec24928e2490d58161f7e067b [file] [log] [blame]
Bradley Smith25219752013-11-01 13:27:35 +00001// This tests that ARM attributes are properly encoded.
2
3// RUN: llvm-mc < %s -triple=arm-linux-gnueabi -filetype=obj -o - \
4// RUN: | llvm-readobj -s -sd | FileCheck %s
5
6// Tag_CPU_name (=5)
Saleem Abdulrasool87ccd362014-01-07 02:28:42 +00007.cpu cortex-a8
Bradley Smith25219752013-11-01 13:27:35 +00008
9// Tag_CPU_arch (=6)
10.eabi_attribute 6, 10
11
12// Tag_arch_profile (=7)
13.eabi_attribute 7, 'A'
14
15// Tag_ARM_ISA_use (=8)
16.eabi_attribute 8, 1
17
18// Tag_THUMB_ISA_use (=9)
19.eabi_attribute 9, 2
20
21// Tag_FP_arch (=10)
22.fpu vfpv3
23
24// Tag_Advanced_SIMD_arch (=12)
25.eabi_attribute 12, 2
26
27// Tag_ABI_FP_denormal (=20)
28.eabi_attribute 20, 1
29
30// Tag_ABI_FP_exceptions (=21)
31.eabi_attribute 21, 1
32
33// Tag_ABI_FP_number_model (=23)
34.eabi_attribute 23, 1
35
36// Tag_ABI_align_needed (=24)
37.eabi_attribute 24, 1
38
39// Tag_ABI_align_preserved (=25)
40.eabi_attribute 25, 1
41
42// Tag_ABI_HardFP_use (=27)
43.eabi_attribute 27, 0
44
45// Tag_ABI_VFP_args (=28)
46.eabi_attribute 28, 1
47
Bradley Smith9aa8ac92013-11-12 10:38:05 +000048// Tag_FP_HP_extension (=36)
49.eabi_attribute 36, 1
50
Bradley Smith25219752013-11-01 13:27:35 +000051// Tag_MPextension_use (=42)
52.eabi_attribute 42, 1
53
54// Tag_DIV_use (=44)
55.eabi_attribute 44, 2
56
Bradley Smithd27a6a72016-01-25 11:26:11 +000057// Tag_DSP_extension (=46)
58.eabi_attribute 46, 1
59
Bradley Smith25219752013-11-01 13:27:35 +000060// Tag_Virtualization_use (=68)
61.eabi_attribute 68, 3
62
63// Check that values > 128 are encoded properly
64.eabi_attribute 110, 160
65
66// Check that tags > 128 are encoded properly
Saleem Abdulrasool87ccd362014-01-07 02:28:42 +000067.eabi_attribute 129, "1"
Bradley Smith25219752013-11-01 13:27:35 +000068.eabi_attribute 250, 1
69
70// CHECK: Section {
71// CHECK: Name: .ARM.attributes
72// CHECK-NEXT: Type: SHT_ARM_ATTRIBUTES
73// CHECK-NEXT: Flags [ (0x0)
74// CHECK-NEXT: ]
75// CHECK-NEXT: Address: 0x0
76// CHECK-NEXT: Offset: 0x34
Bradley Smithd27a6a72016-01-25 11:26:11 +000077// CHECK-NEXT: Size: 73
Bradley Smith25219752013-11-01 13:27:35 +000078// CHECK-NEXT: Link: 0
79// CHECK-NEXT: Info: 0
80// CHECK-NEXT: AddressAlignment: 1
81// CHECK-NEXT: EntrySize: 0
82// CHECK-NEXT: SectionData (
Bradley Smithd27a6a72016-01-25 11:26:11 +000083// CHECK-NEXT: 0000: 41480000 00616561 62690001 3E000000
Charlie Turner8d433692014-11-27 12:13:56 +000084// CHECK-NEXT: 0010: 05636F72 7465782D 61380006 0A074108
Bradley Smith25219752013-11-01 13:27:35 +000085// CHECK-NEXT: 0020: 0109020A 030C0214 01150117 01180119
Bradley Smithd27a6a72016-01-25 11:26:11 +000086// CHECK-NEXT: 0030: 011B001C 0124012A 012C022E 0144036E
87// CHECK-NEXT: 0040: A0018101 3100FA01 01
Bradley Smith25219752013-11-01 13:27:35 +000088// CHECK-NEXT: )