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:
Jeppe Johansen 2015-03-14 12:49:07 +00:00
parent f79a8c1544
commit 64f127141f
4 changed files with 10 additions and 4 deletions

View File

@ -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];

View File

@ -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

View File

@ -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'
);

View File

@ -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;