* use single precision fpu ops in case of single precision operands

git-svn-id: trunk@4784 -
This commit is contained in:
Jonas Maebe 2006-10-04 15:26:10 +00:00
parent 564f36f51e
commit e9c5049275

View File

@ -368,20 +368,34 @@ interface
procedure tppcaddnode.second_addfloat;
var
op : TAsmOp;
cmpop : boolean;
cmpop,
singleprec : boolean;
begin
pass_left_and_right;
cmpop:=false;
singleprec:=tfloatdef(left.resulttype.def).typ=s32real;
case nodetype of
addn :
op:=A_FADD;
if singleprec then
op:=A_FADDS
else
op:=A_FADD;
muln :
if singleprec then
op:=A_FMULS
else
op:=A_FMUL;
subn :
op:=A_FSUB;
if singleprec then
op:=A_FSUBS
else
op:=A_FSUB;
slashn :
op:=A_FDIV;
if singleprec then
op:=A_FDIVS
else
op:=A_FDIV;
ltn,lten,gtn,gten,
equaln,unequaln :
begin