- m68k: removed some definitely misplaced code, comparison nodes are never handled in second_addfloat.

git-svn-id: trunk@28087 -
This commit is contained in:
sergei 2014-06-27 13:23:12 +00:00
parent 3851c1f494
commit 193fa2b95e

View File

@ -366,11 +366,9 @@ implementation
procedure t68kaddnode.second_addfloat; procedure t68kaddnode.second_addfloat;
var var
op : TAsmOp; op : TAsmOp;
cmpop : boolean;
begin begin
pass_left_right; pass_left_right;
cmpop:=false;
case nodetype of case nodetype of
addn : addn :
op:=A_FADD; op:=A_FADD;
@ -380,12 +378,6 @@ implementation
op:=A_FSUB; op:=A_FSUB;
slashn : slashn :
op:=A_FDIV; op:=A_FDIV;
ltn,lten,gtn,gten,
equaln,unequaln :
begin
// op:=A_FCMPO;
cmpop:=true;
end;
else else
internalerror(200403182); internalerror(200403182);
end; end;
@ -400,37 +392,20 @@ implementation
hlcg.location_force_fpureg(current_asmdata.CurrAsmList,left.location,left.resultdef,true); hlcg.location_force_fpureg(current_asmdata.CurrAsmList,left.location,left.resultdef,true);
// initialize de result // initialize de result
if not cmpop then location_reset(location,LOC_FPUREGISTER,def_cgsize(resultdef));
begin if left.location.loc = LOC_FPUREGISTER then
location_reset(location,LOC_FPUREGISTER,def_cgsize(resultdef)); location.register := left.location.register
if left.location.loc = LOC_FPUREGISTER then else if right.location.loc = LOC_FPUREGISTER then
location.register := left.location.register location.register := right.location.register
else if right.location.loc = LOC_FPUREGISTER then
location.register := right.location.register
else
location.register := cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
end
else else
begin location.register := cg.getfpuregister(current_asmdata.CurrAsmList,location.size);
location_reset(location,LOC_FLAGS,OS_NO);
// FIX ME!
// location.resflags := getresflags;
end;
// emit the actual operation // emit the actual operation
if not cmpop then {
begin current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg_reg(op,
{ location.register,left.location.register,
current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg_reg(op, right.location.register))
location.register,left.location.register, }
right.location.register))
}
end
else
begin
{ current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg_reg(op,
newreg(R_SPECIALREGISTER,location.resflags.cr,R_SUBNONE),left.location.register,right.location.register))}
end;
end; end;