mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +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:
@ -703,6 +703,9 @@ void ARMAsmPrinter::emitAttributes() {
|
|||||||
|
|
||||||
// FIXME: Should we signal R9 usage?
|
// FIXME: Should we signal R9 usage?
|
||||||
|
|
||||||
|
if (Subtarget->hasFP16())
|
||||||
|
ATS.emitAttribute(ARMBuildAttrs::FP_HP_extension, ARMBuildAttrs::AllowHPFP);
|
||||||
|
|
||||||
if (Subtarget->hasMPExtension())
|
if (Subtarget->hasMPExtension())
|
||||||
ATS.emitAttribute(ARMBuildAttrs::MPextension_use, ARMBuildAttrs::AllowMP);
|
ATS.emitAttribute(ARMBuildAttrs::MPextension_use, ARMBuildAttrs::AllowMP);
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ namespace ARMBuildAttrs {
|
|||||||
ABI_FP_optimization_goals = 31,
|
ABI_FP_optimization_goals = 31,
|
||||||
compatibility = 32,
|
compatibility = 32,
|
||||||
CPU_unaligned_access = 34,
|
CPU_unaligned_access = 34,
|
||||||
VFP_HP_extension = 36,
|
FP_HP_extension = 36,
|
||||||
ABI_FP_16bit_format = 38,
|
ABI_FP_16bit_format = 38,
|
||||||
MPextension_use = 42, // was 70, 2.08 ABI
|
MPextension_use = 42, // was 70, 2.08 ABI
|
||||||
DIV_use = 44,
|
DIV_use = 44,
|
||||||
@ -146,6 +146,9 @@ namespace ARMBuildAttrs {
|
|||||||
BaseAAPCS = 0,
|
BaseAAPCS = 0,
|
||||||
HardFPAAPCS = 1,
|
HardFPAAPCS = 1,
|
||||||
|
|
||||||
|
// Tag_FP_HP_extension, (=36), uleb128
|
||||||
|
AllowHPFP = 1, // Allow use of Half Precision FP
|
||||||
|
|
||||||
// Tag_MPextension_use, (=42), uleb128
|
// Tag_MPextension_use, (=42), uleb128
|
||||||
AllowMP = 1, // Allow use of MP extensions
|
AllowMP = 1, // Allow use of MP extensions
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
; V6: .eabi_attribute 25, 1
|
; V6: .eabi_attribute 25, 1
|
||||||
; V6-NOT: .eabi_attribute 27
|
; V6-NOT: .eabi_attribute 27
|
||||||
; V6-NOT: .eabi_attribute 28
|
; V6-NOT: .eabi_attribute 28
|
||||||
|
; V6-NOT: .eabi_attribute 36
|
||||||
; V6-NOT: .eabi_attribute 42
|
; V6-NOT: .eabi_attribute 42
|
||||||
; V6-NOT: .eabi_attribute 68
|
; V6-NOT: .eabi_attribute 68
|
||||||
|
|
||||||
@ -40,6 +41,7 @@
|
|||||||
; V6M: .eabi_attribute 25, 1
|
; V6M: .eabi_attribute 25, 1
|
||||||
; V6M-NOT: .eabi_attribute 27
|
; V6M-NOT: .eabi_attribute 27
|
||||||
; V6M-NOT: .eabi_attribute 28
|
; V6M-NOT: .eabi_attribute 28
|
||||||
|
; V6M-NOT: .eabi_attribute 36
|
||||||
; V6M-NOT: .eabi_attribute 42
|
; V6M-NOT: .eabi_attribute 42
|
||||||
; V6M-NOT: .eabi_attribute 68
|
; V6M-NOT: .eabi_attribute 68
|
||||||
|
|
||||||
@ -55,6 +57,7 @@
|
|||||||
; ARM1156T2F-S: .eabi_attribute 25, 1
|
; ARM1156T2F-S: .eabi_attribute 25, 1
|
||||||
; ARM1156T2F-S-NOT: .eabi_attribute 27
|
; ARM1156T2F-S-NOT: .eabi_attribute 27
|
||||||
; ARM1156T2F-S-NOT: .eabi_attribute 28
|
; ARM1156T2F-S-NOT: .eabi_attribute 28
|
||||||
|
; ARM1156T2F-S-NOT: .eabi_attribute 36
|
||||||
; ARM1156T2F-S-NOT: .eabi_attribute 42
|
; ARM1156T2F-S-NOT: .eabi_attribute 42
|
||||||
; ARM1156T2F-S-NOT: .eabi_attribute 68
|
; ARM1156T2F-S-NOT: .eabi_attribute 68
|
||||||
|
|
||||||
@ -66,6 +69,7 @@
|
|||||||
; V7M: .eabi_attribute 25, 1
|
; V7M: .eabi_attribute 25, 1
|
||||||
; V7M-NOT: .eabi_attribute 27
|
; V7M-NOT: .eabi_attribute 27
|
||||||
; V7M-NOT: .eabi_attribute 28
|
; V7M-NOT: .eabi_attribute 28
|
||||||
|
; V7M-NOT: .eabi_attribute 36
|
||||||
; V7M-NOT: .eabi_attribute 42
|
; V7M-NOT: .eabi_attribute 42
|
||||||
; V7M: .eabi_attribute 44, 0
|
; V7M: .eabi_attribute 44, 0
|
||||||
; V7M-NOT: .eabi_attribute 68
|
; V7M-NOT: .eabi_attribute 68
|
||||||
@ -79,6 +83,7 @@
|
|||||||
; V7: .eabi_attribute 25, 1
|
; V7: .eabi_attribute 25, 1
|
||||||
; V7-NOT: .eabi_attribute 27
|
; V7-NOT: .eabi_attribute 27
|
||||||
; V7-NOT: .eabi_attribute 28
|
; V7-NOT: .eabi_attribute 28
|
||||||
|
; V7-NOT: .eabi_attribute 36
|
||||||
; V7-NOT: .eabi_attribute 42
|
; V7-NOT: .eabi_attribute 42
|
||||||
; V7-NOT: .eabi_attribute 68
|
; V7-NOT: .eabi_attribute 68
|
||||||
|
|
||||||
@ -120,6 +125,7 @@
|
|||||||
; CORTEX-A9-SOFT: .eabi_attribute 25, 1
|
; CORTEX-A9-SOFT: .eabi_attribute 25, 1
|
||||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 27
|
; CORTEX-A9-SOFT-NOT: .eabi_attribute 27
|
||||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 28
|
; CORTEX-A9-SOFT-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-A9-SOFT: .eabi_attribute 36, 1
|
||||||
; CORTEX-A9-SOFT-NOT: .eabi_attribute 42
|
; CORTEX-A9-SOFT-NOT: .eabi_attribute 42
|
||||||
; CORTEX-A9-SOFT: .eabi_attribute 68, 1
|
; CORTEX-A9-SOFT: .eabi_attribute 68, 1
|
||||||
|
|
||||||
@ -136,6 +142,7 @@
|
|||||||
; CORTEX-A9-HARD: .eabi_attribute 25, 1
|
; CORTEX-A9-HARD: .eabi_attribute 25, 1
|
||||||
; CORTEX-A9-HARD-NOT: .eabi_attribute 27
|
; CORTEX-A9-HARD-NOT: .eabi_attribute 27
|
||||||
; CORTEX-A9-HARD: .eabi_attribute 28, 1
|
; CORTEX-A9-HARD: .eabi_attribute 28, 1
|
||||||
|
; CORTEX-A9-HARD: .eabi_attribute 36, 1
|
||||||
; CORTEX-A9-HARD-NOT: .eabi_attribute 42
|
; CORTEX-A9-HARD-NOT: .eabi_attribute 42
|
||||||
; CORTEX-A9-HARD: .eabi_attribute 68, 1
|
; CORTEX-A9-HARD: .eabi_attribute 68, 1
|
||||||
|
|
||||||
@ -152,6 +159,7 @@
|
|||||||
; CORTEX-A9-MP: .eabi_attribute 25, 1
|
; CORTEX-A9-MP: .eabi_attribute 25, 1
|
||||||
; CORTEX-A9-NOT: .eabi_attribute 27
|
; CORTEX-A9-NOT: .eabi_attribute 27
|
||||||
; CORTEX-A9-NOT: .eabi_attribute 28
|
; 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 42, 1
|
||||||
; CORTEX-A9-MP: .eabi_attribute 68, 1
|
; CORTEX-A9-MP: .eabi_attribute 68, 1
|
||||||
|
|
||||||
@ -166,10 +174,11 @@
|
|||||||
; CORTEX-A15: .eabi_attribute 23, 3
|
; CORTEX-A15: .eabi_attribute 23, 3
|
||||||
; CORTEX-A15: .eabi_attribute 24, 1
|
; CORTEX-A15: .eabi_attribute 24, 1
|
||||||
; CORTEX-A15: .eabi_attribute 25, 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 27
|
||||||
; CORTEX-A15-NOT: .eabi_attribute 28
|
; 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-A15: .eabi_attribute 68, 3
|
||||||
|
|
||||||
; CORTEX-M0: .cpu cortex-m0
|
; CORTEX-M0: .cpu cortex-m0
|
||||||
@ -181,6 +190,7 @@
|
|||||||
; CORTEX-M0: .eabi_attribute 25, 1
|
; CORTEX-M0: .eabi_attribute 25, 1
|
||||||
; CORTEX-M0-NOT: .eabi_attribute 27
|
; CORTEX-M0-NOT: .eabi_attribute 27
|
||||||
; CORTEX-M0-NOT: .eabi_attribute 28
|
; CORTEX-M0-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-M0-NOT: .eabi_attribute 36
|
||||||
; CORTEX-M0-NOT: .eabi_attribute 42
|
; CORTEX-M0-NOT: .eabi_attribute 42
|
||||||
; CORTEX-M0-NOT: .eabi_attribute 68
|
; CORTEX-M0-NOT: .eabi_attribute 68
|
||||||
|
|
||||||
@ -197,6 +207,7 @@
|
|||||||
; CORTEX-M4-SOFT: .eabi_attribute 25, 1
|
; CORTEX-M4-SOFT: .eabi_attribute 25, 1
|
||||||
; CORTEX-M4-SOFT: .eabi_attribute 27, 1
|
; CORTEX-M4-SOFT: .eabi_attribute 27, 1
|
||||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 28
|
; CORTEX-M4-SOFT-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-M4-SOFT: .eabi_attribute 36, 1
|
||||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 42
|
; CORTEX-M4-SOFT-NOT: .eabi_attribute 42
|
||||||
; CORTEX-M4-SOFT: .eabi_attribute 44, 0
|
; CORTEX-M4-SOFT: .eabi_attribute 44, 0
|
||||||
; CORTEX-M4-SOFT-NOT: .eabi_attribute 68
|
; CORTEX-M4-SOFT-NOT: .eabi_attribute 68
|
||||||
@ -214,6 +225,7 @@
|
|||||||
; CORTEX-M4-HARD: .eabi_attribute 25, 1
|
; CORTEX-M4-HARD: .eabi_attribute 25, 1
|
||||||
; CORTEX-M4-HARD: .eabi_attribute 27, 1
|
; CORTEX-M4-HARD: .eabi_attribute 27, 1
|
||||||
; CORTEX-M4-HARD: .eabi_attribute 28, 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-NOT: .eabi_attribute 42
|
||||||
; CORTEX-M4-HARD: .eabi_attribute 44, 0
|
; CORTEX-M4-HARD: .eabi_attribute 44, 0
|
||||||
; CORTEX-M4-HRAD-NOT: .eabi_attribute 68
|
; CORTEX-M4-HRAD-NOT: .eabi_attribute 68
|
||||||
@ -231,6 +243,7 @@
|
|||||||
; CORTEX-R5: .eabi_attribute 25, 1
|
; CORTEX-R5: .eabi_attribute 25, 1
|
||||||
; CORTEX-R5: .eabi_attribute 27, 1
|
; CORTEX-R5: .eabi_attribute 27, 1
|
||||||
; CORTEX-R5-NOT: .eabi_attribute 28
|
; CORTEX-R5-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-R5-NOT: .eabi_attribute 36
|
||||||
; CORTEX-R5-NOT: .eabi_attribute 42
|
; CORTEX-R5-NOT: .eabi_attribute 42
|
||||||
; CORTEX-R5: .eabi_attribute 44, 2
|
; CORTEX-R5: .eabi_attribute 44, 2
|
||||||
; CORTEX-R5-NOT: .eabi_attribute 68
|
; CORTEX-R5-NOT: .eabi_attribute 68
|
||||||
@ -246,6 +259,7 @@
|
|||||||
; CORTEX-A53: .eabi_attribute 25, 1
|
; CORTEX-A53: .eabi_attribute 25, 1
|
||||||
; CORTEX-A53-NOT: .eabi_attribute 27
|
; CORTEX-A53-NOT: .eabi_attribute 27
|
||||||
; CORTEX-A53-NOT: .eabi_attribute 28
|
; CORTEX-A53-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-A53: .eabi_attribute 36, 1
|
||||||
; CORTEX-A53: .eabi_attribute 42, 1
|
; CORTEX-A53: .eabi_attribute 42, 1
|
||||||
; CORTEX-A53: .eabi_attribute 44, 2
|
; CORTEX-A53: .eabi_attribute 44, 2
|
||||||
; CORTEX-A53: .eabi_attribute 68, 3
|
; CORTEX-A53: .eabi_attribute 68, 3
|
||||||
@ -261,6 +275,7 @@
|
|||||||
; CORTEX-A57: .eabi_attribute 25, 1
|
; CORTEX-A57: .eabi_attribute 25, 1
|
||||||
; CORTEX-A57-NOT: .eabi_attribute 27
|
; CORTEX-A57-NOT: .eabi_attribute 27
|
||||||
; CORTEX-A57-NOT: .eabi_attribute 28
|
; CORTEX-A57-NOT: .eabi_attribute 28
|
||||||
|
; CORTEX-A57: .eabi_attribute 36, 1
|
||||||
; CORTEX-A57: .eabi_attribute 42, 1
|
; CORTEX-A57: .eabi_attribute 42, 1
|
||||||
; CORTEX-A57: .eabi_attribute 44, 2
|
; CORTEX-A57: .eabi_attribute 44, 2
|
||||||
; CORTEX-A57: .eabi_attribute 68, 3
|
; CORTEX-A57: .eabi_attribute 68, 3
|
||||||
|
@ -45,6 +45,9 @@
|
|||||||
// Tag_ABI_VFP_args (=28)
|
// Tag_ABI_VFP_args (=28)
|
||||||
.eabi_attribute 28, 1
|
.eabi_attribute 28, 1
|
||||||
|
|
||||||
|
// Tag_FP_HP_extension (=36)
|
||||||
|
.eabi_attribute 36, 1
|
||||||
|
|
||||||
// Tag_MPextension_use (=42)
|
// Tag_MPextension_use (=42)
|
||||||
.eabi_attribute 42, 1
|
.eabi_attribute 42, 1
|
||||||
|
|
||||||
@ -68,15 +71,15 @@
|
|||||||
// CHECK-NEXT: ]
|
// CHECK-NEXT: ]
|
||||||
// CHECK-NEXT: Address: 0x0
|
// CHECK-NEXT: Address: 0x0
|
||||||
// CHECK-NEXT: Offset: 0x34
|
// CHECK-NEXT: Offset: 0x34
|
||||||
// CHECK-NEXT: Size: 68
|
// CHECK-NEXT: Size: 70
|
||||||
// CHECK-NEXT: Link: 0
|
// CHECK-NEXT: Link: 0
|
||||||
// CHECK-NEXT: Info: 0
|
// CHECK-NEXT: Info: 0
|
||||||
// CHECK-NEXT: AddressAlignment: 1
|
// CHECK-NEXT: AddressAlignment: 1
|
||||||
// CHECK-NEXT: EntrySize: 0
|
// CHECK-NEXT: EntrySize: 0
|
||||||
// CHECK-NEXT: SectionData (
|
// 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: 0010: 05434F52 5445582D 41380006 0A074108
|
||||||
// CHECK-NEXT: 0020: 0109020A 030C0214 01150117 01180119
|
// CHECK-NEXT: 0020: 0109020A 030C0214 01150117 01180119
|
||||||
// CHECK-NEXT: 0030: 011B001C 012A012C 0244036E A0018101
|
// CHECK-NEXT: 0030: 011B001C 0124012A 012C0244 036EA001
|
||||||
// CHECK-NEXT: 0040: 01FA0101
|
// CHECK-NEXT: 0040: 810101FA 0101
|
||||||
// CHECK-NEXT: )
|
// CHECK-NEXT: )
|
||||||
|
Reference in New Issue
Block a user