mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-01 03:33:42 +00:00
[ARM] Add support for FP_HP_extension build attribute
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194470 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
aee7825762
commit
2ca352d027
@ -703,6 +703,9 @@ void ARMAsmPrinter::emitAttributes() {
|
||||
|
||||
// FIXME: Should we signal R9 usage?
|
||||
|
||||
if (Subtarget->hasFP16())
|
||||
ATS.emitAttribute(ARMBuildAttrs::FP_HP_extension, ARMBuildAttrs::AllowHPFP);
|
||||
|
||||
if (Subtarget->hasMPExtension())
|
||||
ATS.emitAttribute(ARMBuildAttrs::MPextension_use, ARMBuildAttrs::AllowMP);
|
||||
|
||||
|
@ -59,7 +59,7 @@ namespace ARMBuildAttrs {
|
||||
ABI_FP_optimization_goals = 31,
|
||||
compatibility = 32,
|
||||
CPU_unaligned_access = 34,
|
||||
VFP_HP_extension = 36,
|
||||
FP_HP_extension = 36,
|
||||
ABI_FP_16bit_format = 38,
|
||||
MPextension_use = 42, // was 70, 2.08 ABI
|
||||
DIV_use = 44,
|
||||
@ -146,6 +146,9 @@ namespace ARMBuildAttrs {
|
||||
BaseAAPCS = 0,
|
||||
HardFPAAPCS = 1,
|
||||
|
||||
// Tag_FP_HP_extension, (=36), uleb128
|
||||
AllowHPFP = 1, // Allow use of Half Precision FP
|
||||
|
||||
// Tag_MPextension_use, (=42), uleb128
|
||||
AllowMP = 1, // Allow use of MP extensions
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
; V6: .eabi_attribute 25, 1
|
||||
; V6-NOT: .eabi_attribute 27
|
||||
; V6-NOT: .eabi_attribute 28
|
||||
; V6-NOT: .eabi_attribute 36
|
||||
; V6-NOT: .eabi_attribute 42
|
||||
; V6-NOT: .eabi_attribute 68
|
||||
|
||||
@ -40,6 +41,7 @@
|
||||
; V6M: .eabi_attribute 25, 1
|
||||
; V6M-NOT: .eabi_attribute 27
|
||||
; V6M-NOT: .eabi_attribute 28
|
||||
; V6M-NOT: .eabi_attribute 36
|
||||
; V6M-NOT: .eabi_attribute 42
|
||||
; V6M-NOT: .eabi_attribute 68
|
||||
|
||||
@ -55,6 +57,7 @@
|
||||
; ARM1156T2F-S: .eabi_attribute 25, 1
|
||||
; ARM1156T2F-S-NOT: .eabi_attribute 27
|
||||
; ARM1156T2F-S-NOT: .eabi_attribute 28
|
||||
; ARM1156T2F-S-NOT: .eabi_attribute 36
|
||||
; ARM1156T2F-S-NOT: .eabi_attribute 42
|
||||
; ARM1156T2F-S-NOT: .eabi_attribute 68
|
||||
|
||||
@ -66,6 +69,7 @@
|
||||
; V7M: .eabi_attribute 25, 1
|
||||
; V7M-NOT: .eabi_attribute 27
|
||||
; V7M-NOT: .eabi_attribute 28
|
||||
; V7M-NOT: .eabi_attribute 36
|
||||
; V7M-NOT: .eabi_attribute 42
|
||||
; V7M: .eabi_attribute 44, 0
|
||||
; V7M-NOT: .eabi_attribute 68
|
||||
@ -79,6 +83,7 @@
|
||||
; V7: .eabi_attribute 25, 1
|
||||
; V7-NOT: .eabi_attribute 27
|
||||
; V7-NOT: .eabi_attribute 28
|
||||
; V7-NOT: .eabi_attribute 36
|
||||
; V7-NOT: .eabi_attribute 42
|
||||
; V7-NOT: .eabi_attribute 68
|
||||
|
||||
@ -120,6 +125,7 @@
|
||||
; CORTEX-A9-SOFT: .eabi_attribute 25, 1
|
||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 27
|
||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 28
|
||||
; CORTEX-A9-SOFT: .eabi_attribute 36, 1
|
||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 42
|
||||
; CORTEX-A9-SOFT: .eabi_attribute 68, 1
|
||||
|
||||
@ -136,6 +142,7 @@
|
||||
; CORTEX-A9-HARD: .eabi_attribute 25, 1
|
||||
; CORTEX-A9-HARD-NOT: .eabi_attribute 27
|
||||
; CORTEX-A9-HARD: .eabi_attribute 28, 1
|
||||
; CORTEX-A9-HARD: .eabi_attribute 36, 1
|
||||
; CORTEX-A9-HARD-NOT: .eabi_attribute 42
|
||||
; CORTEX-A9-HARD: .eabi_attribute 68, 1
|
||||
|
||||
@ -152,6 +159,7 @@
|
||||
; CORTEX-A9-MP: .eabi_attribute 25, 1
|
||||
; CORTEX-A9-NOT: .eabi_attribute 27
|
||||
; CORTEX-A9-NOT: .eabi_attribute 28
|
||||
; CORTEX-A9-MP: .eabi_attribute 36, 1
|
||||
; CORTEX-A9-MP: .eabi_attribute 42, 1
|
||||
; CORTEX-A9-MP: .eabi_attribute 68, 1
|
||||
|
||||
@ -166,10 +174,11 @@
|
||||
; CORTEX-A15: .eabi_attribute 23, 3
|
||||
; CORTEX-A15: .eabi_attribute 24, 1
|
||||
; CORTEX-A15: .eabi_attribute 25, 1
|
||||
; CORTEX-A15: .eabi_attribute 42, 1
|
||||
; CORTEX-A15: .eabi_attribute 44, 2
|
||||
; CORTEX-A15-NOT: .eabi_attribute 27
|
||||
; CORTEX-A15-NOT: .eabi_attribute 28
|
||||
; CORTEX-A15: .eabi_attribute 36, 1
|
||||
; CORTEX-A15: .eabi_attribute 42, 1
|
||||
; CORTEX-A15: .eabi_attribute 44, 2
|
||||
; CORTEX-A15: .eabi_attribute 68, 3
|
||||
|
||||
; CORTEX-M0: .cpu cortex-m0
|
||||
@ -181,6 +190,7 @@
|
||||
; CORTEX-M0: .eabi_attribute 25, 1
|
||||
; CORTEX-M0-NOT: .eabi_attribute 27
|
||||
; CORTEX-M0-NOT: .eabi_attribute 28
|
||||
; CORTEX-M0-NOT: .eabi_attribute 36
|
||||
; CORTEX-M0-NOT: .eabi_attribute 42
|
||||
; CORTEX-M0-NOT: .eabi_attribute 68
|
||||
|
||||
@ -197,6 +207,7 @@
|
||||
; CORTEX-M4-SOFT: .eabi_attribute 25, 1
|
||||
; CORTEX-M4-SOFT: .eabi_attribute 27, 1
|
||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 28
|
||||
; CORTEX-M4-SOFT: .eabi_attribute 36, 1
|
||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 42
|
||||
; CORTEX-M4-SOFT: .eabi_attribute 44, 0
|
||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 68
|
||||
@ -214,6 +225,7 @@
|
||||
; CORTEX-M4-HARD: .eabi_attribute 25, 1
|
||||
; CORTEX-M4-HARD: .eabi_attribute 27, 1
|
||||
; CORTEX-M4-HARD: .eabi_attribute 28, 1
|
||||
; CORTEX-M4-HARD: .eabi_attribute 36, 1
|
||||
; CORTEX-M4-HARD-NOT: .eabi_attribute 42
|
||||
; CORTEX-M4-HARD: .eabi_attribute 44, 0
|
||||
; CORTEX-M4-HRAD-NOT: .eabi_attribute 68
|
||||
@ -231,6 +243,7 @@
|
||||
; CORTEX-R5: .eabi_attribute 25, 1
|
||||
; CORTEX-R5: .eabi_attribute 27, 1
|
||||
; CORTEX-R5-NOT: .eabi_attribute 28
|
||||
; CORTEX-R5-NOT: .eabi_attribute 36
|
||||
; CORTEX-R5-NOT: .eabi_attribute 42
|
||||
; CORTEX-R5: .eabi_attribute 44, 2
|
||||
; CORTEX-R5-NOT: .eabi_attribute 68
|
||||
@ -246,6 +259,7 @@
|
||||
; CORTEX-A53: .eabi_attribute 25, 1
|
||||
; CORTEX-A53-NOT: .eabi_attribute 27
|
||||
; CORTEX-A53-NOT: .eabi_attribute 28
|
||||
; CORTEX-A53: .eabi_attribute 36, 1
|
||||
; CORTEX-A53: .eabi_attribute 42, 1
|
||||
; CORTEX-A53: .eabi_attribute 44, 2
|
||||
; CORTEX-A53: .eabi_attribute 68, 3
|
||||
@ -261,6 +275,7 @@
|
||||
; CORTEX-A57: .eabi_attribute 25, 1
|
||||
; CORTEX-A57-NOT: .eabi_attribute 27
|
||||
; CORTEX-A57-NOT: .eabi_attribute 28
|
||||
; CORTEX-A57: .eabi_attribute 36, 1
|
||||
; CORTEX-A57: .eabi_attribute 42, 1
|
||||
; CORTEX-A57: .eabi_attribute 44, 2
|
||||
; CORTEX-A57: .eabi_attribute 68, 3
|
||||
|
@ -45,6 +45,9 @@
|
||||
// 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
|
||||
|
||||
@ -68,15 +71,15 @@
|
||||
// CHECK-NEXT: ]
|
||||
// CHECK-NEXT: Address: 0x0
|
||||
// CHECK-NEXT: Offset: 0x34
|
||||
// CHECK-NEXT: Size: 68
|
||||
// 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: 41430000 00616561 62690001 39000000
|
||||
// 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 012A012C 0244036E A0018101
|
||||
// CHECK-NEXT: 0040: 01FA0101
|
||||
// CHECK-NEXT: 0030: 011B001C 0124012A 012C0244 036EA001
|
||||
// CHECK-NEXT: 0040: 810101FA 0101
|
||||
// CHECK-NEXT: )
|
||||
|
Loading…
x
Reference in New Issue
Block a user