mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 02:50:27 +02:00
Use proper syntax when emitting UAL VFP instructions for all postfix types.
Fixed postfix of VSQRT instruction. git-svn-id: branches/laksen/armiw@29591 -
This commit is contained in:
parent
db401f0371
commit
60b3ea8038
@ -327,7 +327,7 @@ unit agarmgas;
|
|||||||
|
|
||||||
if taicpu(hp).ops = 0 then
|
if taicpu(hp).ops = 0 then
|
||||||
s:=#9+gas_op2str[op]+cond2str[taicpu(hp).condition]+oppostfix2str[taicpu(hp).oppostfix]
|
s:=#9+gas_op2str[op]+cond2str[taicpu(hp).condition]+oppostfix2str[taicpu(hp).oppostfix]
|
||||||
else if (taicpu(hp).opcode>=A_VABS) and (taicpu(hp).opcode<=A_VSUB) then
|
else if taicpu(hp).oppostfix in [PF_8..PF_U32F64] then
|
||||||
s:=#9+gas_op2str[op]+cond2str[taicpu(hp).condition]+oppostfix2str[taicpu(hp).oppostfix]
|
s:=#9+gas_op2str[op]+cond2str[taicpu(hp).condition]+oppostfix2str[taicpu(hp).oppostfix]
|
||||||
else
|
else
|
||||||
s:=#9+gas_op2str[op]+oppostfix2str[taicpu(hp).oppostfix]+cond2str[taicpu(hp).condition]+postfix; // Conditional infixes are deprecated in unified syntax
|
s:=#9+gas_op2str[op]+oppostfix2str[taicpu(hp).oppostfix]+cond2str[taicpu(hp).condition]+postfix; // Conditional infixes are deprecated in unified syntax
|
||||||
|
@ -299,7 +299,7 @@ implementation
|
|||||||
procedure tarminlinenode.second_sqrt_real;
|
procedure tarminlinenode.second_sqrt_real;
|
||||||
var
|
var
|
||||||
singleprec: boolean;
|
singleprec: boolean;
|
||||||
op: TAsmOp;
|
pf: TOpPostfix;
|
||||||
begin
|
begin
|
||||||
load_fpu_location(singleprec);
|
load_fpu_location(singleprec);
|
||||||
case current_settings.fputype of
|
case current_settings.fputype of
|
||||||
@ -309,9 +309,16 @@ implementation
|
|||||||
current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_SQT,location.register,left.location.register),get_fpu_postfix(resultdef)));
|
current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_SQT,location.register,left.location.register),get_fpu_postfix(resultdef)));
|
||||||
fpu_vfpv2,
|
fpu_vfpv2,
|
||||||
fpu_vfpv3,
|
fpu_vfpv3,
|
||||||
fpu_vfpv3_d16,
|
fpu_vfpv3_d16:
|
||||||
|
begin
|
||||||
|
if singleprec then
|
||||||
|
pf:=PF_F32
|
||||||
|
else
|
||||||
|
pf:=PF_F64;
|
||||||
|
current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_VSQRT,location.register,left.location.register),pf));
|
||||||
|
end;
|
||||||
fpu_fpv4_s16:
|
fpu_fpv4_s16:
|
||||||
current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg(A_VSQRT,location.register,left.location.register));
|
current_asmdata.CurrAsmList.concat(setoppostfix(taicpu.op_reg_reg(A_VSQRT,location.register,left.location.register), PF_F32));
|
||||||
else
|
else
|
||||||
internalerror(2009111402);
|
internalerror(2009111402);
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user