mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-23 17:09:41 +02:00
Add VFPv4 FPU type for ARM.
Fix assembler reader so it can read instructions longer than 5 characters. git-svn-id: trunk@30186 -
This commit is contained in:
parent
f79a8c1544
commit
64f127141f
compiler/arm
@ -165,6 +165,7 @@ uses
|
||||
IF_FPA = $10000000;
|
||||
IF_VFPv2 = $20000000;
|
||||
IF_VFPv3 = $40000000;
|
||||
IF_VFPv4 = $80000000;
|
||||
|
||||
{ if the instruction can change in a second pass }
|
||||
IF_PASS2 = longint($80000000);
|
||||
@ -2034,7 +2035,8 @@ implementation
|
||||
IF_VFPv2,
|
||||
IF_VFPv2 or IF_VFPv3,
|
||||
IF_VFPv2 or IF_VFPv3,
|
||||
IF_NONE
|
||||
IF_NONE,
|
||||
IF_VFPv2 or IF_VFPv3 or IF_VFPv4
|
||||
);
|
||||
begin
|
||||
fArmVMask:=Masks[current_settings.cputype] or FPUMasks[current_settings.fputype];
|
||||
|
@ -109,6 +109,8 @@ unit agarmgas;
|
||||
result:='-mfpu=vfpv3-d16 '+result;
|
||||
if (current_settings.fputype = fpu_fpv4_s16) then
|
||||
result:='-mfpu=fpv4-sp-d16 '+result;
|
||||
if (current_settings.fputype = fpu_vfpv4) then
|
||||
result:='-mfpu=vfpv4 '+result;
|
||||
|
||||
if GenerateThumb2Code then
|
||||
result:='-march='+cputype_to_gas_march[current_settings.cputype]+' -mthumb -mthumb-interwork '+result
|
||||
|
@ -67,7 +67,8 @@ Type
|
||||
fpu_vfpv2,
|
||||
fpu_vfpv3,
|
||||
fpu_vfpv3_d16,
|
||||
fpu_fpv4_s16
|
||||
fpu_fpv4_s16,
|
||||
fpu_vfpv4
|
||||
);
|
||||
|
||||
tcontrollertype =
|
||||
@ -402,7 +403,8 @@ Const
|
||||
'VFPV2',
|
||||
'VFPV3',
|
||||
'VFPV3_D16',
|
||||
'FPV4_S16'
|
||||
'FPV4_S16',
|
||||
'VFPV4'
|
||||
);
|
||||
|
||||
|
||||
|
@ -1287,7 +1287,7 @@ Unit raarmgas;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
maxlen:=min(length(hs),5);
|
||||
maxlen:=min(length(hs),6);
|
||||
actopcode:=A_NONE;
|
||||
j2:=maxlen;
|
||||
hs2:=hs;
|
||||
|
Loading…
Reference in New Issue
Block a user