102 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.3 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_PAC_extension (=50)
 | 
						|
.eabi_attribute 50, 0
 | 
						|
 | 
						|
// Tag_BTI_extension (=52)
 | 
						|
.eabi_attribute 52, 0
 | 
						|
 | 
						|
// Tag_BTI_use (=74)
 | 
						|
.eabi_attribute 74, 0
 | 
						|
 | 
						|
// Tag_PACRET_use (=76)
 | 
						|
.eabi_attribute 76, 0
 | 
						|
 | 
						|
// 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 (7)
 | 
						|
// CHECK-NEXT:    Type: SHT_ARM_ATTRIBUTES (0x70000003)
 | 
						|
// CHECK-NEXT:    Flags [ (0x0)
 | 
						|
// CHECK-NEXT:    ]
 | 
						|
// CHECK-NEXT:    Address: 0x0
 | 
						|
// CHECK-NEXT:    Offset: 0x34
 | 
						|
// CHECK-NEXT:    Size: 81
 | 
						|
// CHECK-NEXT:    Link: 0
 | 
						|
// CHECK-NEXT:    Info: 0
 | 
						|
// CHECK-NEXT:    AddressAlignment: 1
 | 
						|
// CHECK-NEXT:    EntrySize: 0
 | 
						|
// CHECK-NEXT:    SectionData (
 | 
						|
// CHECK-NEXT:      0000: 41500000 00616561 62690001 46000000  |AP...aeabi..F...|
 | 
						|
// CHECK-NEXT:      0010: 05636F72 7465782D 61380006 0A074108  |.cortex-a8....A.|
 | 
						|
// CHECK-NEXT:      0020: 0109020A 030C0214 01150117 01180119  |................|
 | 
						|
// CHECK-NEXT:      0030: 011B001C 0124012A 012C022E 01320034  |.....$.*.,...2.4|
 | 
						|
// CHECK-NEXT:      0040: 0044034A 004C006E A0018101 3100FA01  |.D.J.L.n....1...|
 | 
						|
// CHECK-NEXT:      0050: 01                                   |.|
 | 
						|
// CHECK-NEXT:    )
 |