mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-04 19:30:32 +02:00
+ Aarch64: cpu_capabilities support
git-svn-id: trunk@49105 -
This commit is contained in:
parent
f0023a3b04
commit
bf65bad5c5
@ -65,7 +65,14 @@ unit agcpugas;
|
|||||||
const
|
const
|
||||||
cputype_to_gas_march : array[tcputype] of string = (
|
cputype_to_gas_march : array[tcputype] of string = (
|
||||||
'', // cpu_none
|
'', // cpu_none
|
||||||
'armv8'
|
'armv8',
|
||||||
|
'armv8-a',
|
||||||
|
'armv8.1-a',
|
||||||
|
'armv8.2-a',
|
||||||
|
'armv8.3-a',
|
||||||
|
'armv8.4-a',
|
||||||
|
'armv8.5-a',
|
||||||
|
'armv8.6-a'
|
||||||
);
|
);
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@ -37,7 +37,14 @@ Type
|
|||||||
{ possible supported processors for this target }
|
{ possible supported processors for this target }
|
||||||
tcputype =
|
tcputype =
|
||||||
(cpu_none,
|
(cpu_none,
|
||||||
cpu_armv8
|
cpu_armv8,
|
||||||
|
cpu_armv8a,
|
||||||
|
cpu_armv81a,
|
||||||
|
cpu_armv82a,
|
||||||
|
cpu_armv83a,
|
||||||
|
cpu_armv84a,
|
||||||
|
cpu_armv85a,
|
||||||
|
cpu_armv86a
|
||||||
);
|
);
|
||||||
|
|
||||||
Type
|
Type
|
||||||
@ -97,8 +104,15 @@ Const
|
|||||||
pocall_interrupt
|
pocall_interrupt
|
||||||
];
|
];
|
||||||
|
|
||||||
cputypestr : array[tcputype] of string[8] = ('',
|
cputypestr : array[tcputype] of string[9] = ('',
|
||||||
'ARMV8'
|
'ARMV8',
|
||||||
|
'ARMV8-A',
|
||||||
|
'ARMV8.1-A',
|
||||||
|
'ARMV8.2-A',
|
||||||
|
'ARMV8.3-A',
|
||||||
|
'ARMV8.4-A',
|
||||||
|
'ARMV8.5-A',
|
||||||
|
'ARMV8.6-A'
|
||||||
);
|
);
|
||||||
|
|
||||||
fputypestr : array[tfputype] of string[9] = ('',
|
fputypestr : array[tfputype] of string[9] = ('',
|
||||||
@ -121,6 +135,33 @@ Const
|
|||||||
level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
|
level3optimizerswitches = genericlevel3optimizerswitches + level2optimizerswitches + [{,cs_opt_loopunroll}];
|
||||||
level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];
|
level4optimizerswitches = genericlevel4optimizerswitches + level3optimizerswitches + [];
|
||||||
|
|
||||||
|
type
|
||||||
|
tcpuflags =
|
||||||
|
(CPUA64_HAS_LSE { CPU supports Large System Extensions }
|
||||||
|
);
|
||||||
|
|
||||||
|
tfpuflags =
|
||||||
|
(CPUA64_HAS_VFP { CPU supports VFP }
|
||||||
|
);
|
||||||
|
|
||||||
|
const
|
||||||
|
cpu_capabilities : array[tcputype] of set of tcpuflags =
|
||||||
|
( { cpu_none } [],
|
||||||
|
{ cpu_armv8 } [],
|
||||||
|
{ cpu_armv8a } [],
|
||||||
|
{ cpu_armv81a } [CPUA64_HAS_LSE],
|
||||||
|
{ cpu_armv82a } [CPUA64_HAS_LSE],
|
||||||
|
{ cpu_armv83a } [CPUA64_HAS_LSE],
|
||||||
|
{ cpu_armv84a } [CPUA64_HAS_LSE],
|
||||||
|
{ cpu_armv85a } [CPUA64_HAS_LSE],
|
||||||
|
{ cpu_armv86a } [CPUA64_HAS_LSE]
|
||||||
|
);
|
||||||
|
|
||||||
|
fpu_capabilities : array[tfputype] of set of tfpuflags =
|
||||||
|
( { fpu_none } [],
|
||||||
|
{ fpu_vfp } [CPUA64_HAS_VFP]
|
||||||
|
);
|
||||||
|
|
||||||
Implementation
|
Implementation
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
Loading…
Reference in New Issue
Block a user