mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 21:29:43 +02:00
* renamed nf_swaped to nf_swapped
git-svn-id: trunk@5818 -
This commit is contained in:
parent
a4a54a105d
commit
1d96dcc50d
compiler
@ -68,7 +68,7 @@ interface
|
||||
else
|
||||
if not(unsigned) then
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case NodeType of
|
||||
ltn:
|
||||
GetResFlags:=F_GT;
|
||||
@ -93,7 +93,7 @@ interface
|
||||
end
|
||||
else
|
||||
begin
|
||||
if nf_swaped in Flags then
|
||||
if nf_swapped in Flags then
|
||||
case NodeType of
|
||||
ltn:
|
||||
GetResFlags:=F_HI;
|
||||
@ -130,7 +130,7 @@ interface
|
||||
fpu_fpa11:
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
case nodetype of
|
||||
@ -175,7 +175,7 @@ interface
|
||||
procedure tarmaddnode.second_cmpfloat;
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
{ force fpureg as location, left right doesn't matter
|
||||
@ -224,9 +224,9 @@ interface
|
||||
lten,
|
||||
gten:
|
||||
begin
|
||||
if (not(nf_swaped in flags) and
|
||||
if (not(nf_swapped in flags) and
|
||||
(nodetype = lten)) or
|
||||
((nf_swaped in flags) and
|
||||
((nf_swapped in flags) and
|
||||
(nodetype = gten)) then
|
||||
swapleftright;
|
||||
tmpreg:=cg.getintregister(current_asmdata.CurrAsmList,location.size);
|
||||
@ -270,9 +270,9 @@ interface
|
||||
begin
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(false),current_procinfo.CurrTrueLabel);
|
||||
{ cheat a little bit for the negative test }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(false),current_procinfo.CurrFalseLabel);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
|
@ -115,7 +115,7 @@ interface
|
||||
else
|
||||
begin
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -123,13 +123,13 @@ interface
|
||||
if right.location.loc=LOC_REGISTER then
|
||||
begin
|
||||
{ when swapped another result register }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
cg64.a_op64_reg_reg(current_asmdata.CurrAsmList,op,location.size,
|
||||
left.location.register64,
|
||||
right.location.register64);
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -141,7 +141,7 @@ interface
|
||||
else
|
||||
begin
|
||||
{ right.location<>LOC_REGISTER }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
r:=cg.getintregister(current_asmdata.CurrAsmList,OS_INT);
|
||||
cg64.a_load64low_loc_reg(current_asmdata.CurrAsmList,right.location,r);
|
||||
@ -204,9 +204,9 @@ interface
|
||||
begin
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(unsigned),current_procinfo.CurrTrueLabel);
|
||||
{ cheat a little bit for the negative test }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(unsigned),current_procinfo.CurrFalseLabel);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
@ -286,7 +286,7 @@ interface
|
||||
else
|
||||
begin
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -68,7 +68,7 @@ implementation
|
||||
else
|
||||
if not(unsigned) then
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case nodetype of
|
||||
ltn : getresflags:=F_G;
|
||||
lten : getresflags:=F_GE;
|
||||
@ -85,7 +85,7 @@ implementation
|
||||
end
|
||||
else
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case nodetype of
|
||||
ltn : getresflags:=F_A;
|
||||
lten : getresflags:=F_AE;
|
||||
@ -136,7 +136,7 @@ implementation
|
||||
|
||||
// get the operands in the correct order, there are no special cases
|
||||
// here, everything is register-based
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
swapleftright;
|
||||
|
||||
// put both operands in a register
|
||||
@ -183,7 +183,7 @@ implementation
|
||||
pass_left_right;
|
||||
|
||||
{
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
}
|
||||
{ force fpureg as location, left right doesn't matter
|
||||
@ -229,9 +229,9 @@ implementation
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
If (not(nf_swaped in flags) and
|
||||
If (not(nf_swapped in flags) and
|
||||
(nodetype = lten)) or
|
||||
((nf_swaped in flags) and
|
||||
((nf_swapped in flags) and
|
||||
(nodetype = gten)) then
|
||||
swapleftright;
|
||||
// now we have to check whether left >= right
|
||||
|
@ -142,7 +142,7 @@ interface
|
||||
left.location.register := tmpreg;
|
||||
{$ifdef x86}
|
||||
{ left operand is now on top of the stack, instead of the right one! }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
{$endif x86}
|
||||
end;
|
||||
end;
|
||||
@ -260,7 +260,7 @@ interface
|
||||
We need an extra check if left is a register because the
|
||||
default case can skip the register loading when the
|
||||
setelementn is in a register (PFV) }
|
||||
if (nf_swaped in flags) and
|
||||
if (nf_swapped in flags) and
|
||||
(left.nodetype=setelementn) then
|
||||
swapleftright;
|
||||
if (right.nodetype=setelementn) and
|
||||
@ -307,7 +307,7 @@ interface
|
||||
subn :
|
||||
begin
|
||||
cgop:=OP_AND;
|
||||
if (not(nf_swaped in flags)) then
|
||||
if (not(nf_swapped in flags)) then
|
||||
if (right.location.loc=LOC_CONSTANT) then
|
||||
right.location.value := not(right.location.value)
|
||||
else
|
||||
@ -511,7 +511,7 @@ interface
|
||||
end;
|
||||
subn:
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
if left.location.loc <> LOC_CONSTANT then
|
||||
@ -554,7 +554,7 @@ interface
|
||||
end;
|
||||
subn:
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
if left.location.loc <> LOC_CONSTANT then
|
||||
@ -697,7 +697,7 @@ interface
|
||||
end
|
||||
else { subtract is a special case since its not commutative }
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
if left.location.loc<>LOC_CONSTANT then
|
||||
begin
|
||||
|
@ -285,7 +285,7 @@ implementation
|
||||
exit;
|
||||
|
||||
{ ofcourse not commutative }
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
swapleftright;
|
||||
|
||||
if genjumps then
|
||||
|
@ -224,7 +224,7 @@ implementation
|
||||
if (p.nodetype in [orn,andn]) and
|
||||
is_boolean(p.left.resultdef) then
|
||||
begin
|
||||
if nf_swaped in p.flags then
|
||||
if nf_swapped in p.flags then
|
||||
internalerror(234234);
|
||||
end
|
||||
else
|
||||
@ -245,10 +245,10 @@ implementation
|
||||
hp:=p.left;
|
||||
p.left:=p.right;
|
||||
p.right:=hp;
|
||||
if nf_swaped in p.flags then
|
||||
exclude(p.flags,nf_swaped)
|
||||
if nf_swapped in p.flags then
|
||||
exclude(p.flags,nf_swapped)
|
||||
else
|
||||
include(p.flags,nf_swaped);
|
||||
include(p.flags,nf_swapped);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -197,7 +197,7 @@ interface
|
||||
{ all boolean field of ttree are now collected in flags }
|
||||
tnodeflag = (
|
||||
nf_swapable, { tbinop operands can be swaped }
|
||||
nf_swaped, { tbinop operands are swaped }
|
||||
nf_swapped, { tbinop operands are swaped }
|
||||
nf_error,
|
||||
|
||||
{ general }
|
||||
@ -1118,10 +1118,10 @@ implementation
|
||||
swapp:=right;
|
||||
right:=left;
|
||||
left:=swapp;
|
||||
if nf_swaped in flags then
|
||||
exclude(flags,nf_swaped)
|
||||
if nf_swapped in flags then
|
||||
exclude(flags,nf_swapped)
|
||||
else
|
||||
include(flags,nf_swaped);
|
||||
include(flags,nf_swapped);
|
||||
end;
|
||||
|
||||
|
||||
|
@ -193,9 +193,9 @@ interface
|
||||
begin
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags,current_procinfo.CurrTrueLabel);
|
||||
{ cheat a little bit for the negative test }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags,current_procinfo.CurrFalseLabel);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
@ -276,7 +276,7 @@ interface
|
||||
subn :
|
||||
begin
|
||||
op:=OP_SUB;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
end;
|
||||
ltn,lten,
|
||||
@ -642,7 +642,7 @@ interface
|
||||
if (right.location.loc=LOC_MMXREGISTER) then
|
||||
begin
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -671,7 +671,7 @@ interface
|
||||
{ at this point, left.location.loc should be LOC_MMXREGISTER }
|
||||
if right.location.loc<>LOC_MMXREGISTER then
|
||||
begin
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
if right.location.loc=LOC_CMMXREGISTER then
|
||||
begin
|
||||
@ -707,11 +707,11 @@ interface
|
||||
else
|
||||
begin
|
||||
{ right.location=LOC_MMXREGISTER }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
emit_reg_reg(op,S_NO,left.location.register,right.location.register);
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -860,7 +860,7 @@ interface
|
||||
end;
|
||||
subn:
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
if left.location.loc <> LOC_CONSTANT then
|
||||
if right.location.loc <> LOC_CONSTANT then
|
||||
@ -905,7 +905,7 @@ interface
|
||||
subn:
|
||||
begin
|
||||
op := A_SUBO;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
end;
|
||||
muln:
|
||||
@ -929,7 +929,7 @@ interface
|
||||
end;
|
||||
subn:
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
swapleftright;
|
||||
current_asmdata.CurrAsmList.concat(taicpu.op_reg_reg_reg(A_SUB,location.register,
|
||||
left.location.register,right.location.register));
|
||||
|
@ -253,7 +253,7 @@ begin
|
||||
end;
|
||||
subn:
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
if left.location.loc <> LOC_CONSTANT then
|
||||
if right.location.loc <> LOC_CONSTANT then begin
|
||||
@ -295,7 +295,7 @@ begin
|
||||
subn:
|
||||
begin
|
||||
op := A_SUBO;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
end;
|
||||
muln:
|
||||
|
@ -144,7 +144,7 @@ implementation
|
||||
equaln : result.flag:=F_EQ;
|
||||
unequaln : result.flag:=F_NE;
|
||||
else
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case nodetype of
|
||||
ltn : result.flag:=F_GT;
|
||||
lten : result.flag:=F_GE;
|
||||
@ -335,7 +335,7 @@ implementation
|
||||
|
||||
// get the operands in the correct order, there are no special cases
|
||||
// here, everything is register-based
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
swapleftright;
|
||||
|
||||
// put both operands in a register
|
||||
@ -406,7 +406,7 @@ implementation
|
||||
case nodetype of
|
||||
addn :
|
||||
begin
|
||||
if (nf_swaped in flags) and (left.nodetype=setelementn) then
|
||||
if (nf_swapped in flags) and (left.nodetype=setelementn) then
|
||||
swapleftright;
|
||||
{ are we adding set elements ? }
|
||||
if right.nodetype=setelementn then
|
||||
@ -443,7 +443,7 @@ implementation
|
||||
subn :
|
||||
begin
|
||||
cgop:=OP_AND;
|
||||
if (not(nf_swaped in flags)) then
|
||||
if (not(nf_swapped in flags)) then
|
||||
if (right.location.loc=LOC_CONSTANT) then
|
||||
right.location.value := not(right.location.value)
|
||||
else
|
||||
@ -479,9 +479,9 @@ implementation
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
If (not(nf_swaped in flags) and
|
||||
If (not(nf_swapped in flags) and
|
||||
(nodetype = lten)) or
|
||||
((nf_swaped in flags) and
|
||||
((nf_swapped in flags) and
|
||||
(nodetype = gten)) then
|
||||
swapleftright;
|
||||
// now we have to check whether left >= right
|
||||
|
@ -68,7 +68,7 @@ interface
|
||||
else
|
||||
if not(unsigned) then
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case NodeType of
|
||||
ltn:
|
||||
GetResFlags:=F_G;
|
||||
@ -93,7 +93,7 @@ interface
|
||||
end
|
||||
else
|
||||
begin
|
||||
if nf_swaped in Flags then
|
||||
if nf_swapped in Flags then
|
||||
case NodeType of
|
||||
ltn:
|
||||
GetResFlags:=F_A;
|
||||
@ -129,7 +129,7 @@ interface
|
||||
result:=F_FNE;
|
||||
else
|
||||
begin
|
||||
if nf_swaped in Flags then
|
||||
if nf_swapped in Flags then
|
||||
case NodeType of
|
||||
ltn:
|
||||
result:=F_FG;
|
||||
@ -161,7 +161,7 @@ interface
|
||||
op : TAsmOp;
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
{ force fpureg as location, left right doesn't matter
|
||||
@ -218,7 +218,7 @@ interface
|
||||
op : tasmop;
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
{ force fpureg as location, left right doesn't matter
|
||||
@ -284,9 +284,9 @@ interface
|
||||
begin
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(unsigned),current_procinfo.CurrTrueLabel);
|
||||
{ cheat a little bit for the negative test }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
cg.a_jmp_flags(current_asmdata.CurrAsmList,getresflags(unsigned),current_procinfo.CurrFalseLabel);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
|
@ -88,14 +88,14 @@ unit nx86add;
|
||||
begin
|
||||
{ right.location is a LOC_REGISTER }
|
||||
{ when swapped another result register }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
if extra_not then
|
||||
emit_reg(A_NOT,TCGSize2Opsize[opsize],left.location.register);
|
||||
emit_reg_reg(op,TCGSize2Opsize[opsize],left.location.register,right.location.register);
|
||||
{ newly swapped also set swapped flag }
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -109,7 +109,7 @@ unit nx86add;
|
||||
else
|
||||
begin
|
||||
{ right.location is not a LOC_REGISTER }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
if extra_not then
|
||||
cg.a_op_reg_reg(current_asmdata.CurrAsmList,OP_NOT,opsize,left.location.register,left.location.register);
|
||||
@ -199,7 +199,7 @@ unit nx86add;
|
||||
(right.location.loc=LOC_REGISTER) then
|
||||
begin
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -221,7 +221,7 @@ unit nx86add;
|
||||
location_force_fpureg(current_asmdata.CurrAsmList,left.location,false)
|
||||
else
|
||||
{ left was on the stack => swap }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
{ the nominator in st0 }
|
||||
else if (left.location.loc<>LOC_FPUREGISTER) then
|
||||
@ -229,7 +229,7 @@ unit nx86add;
|
||||
else
|
||||
begin
|
||||
{ fpu operands are always in the wrong order on the stack }
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -282,7 +282,7 @@ unit nx86add;
|
||||
else
|
||||
if not(unsigned) then
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case nodetype of
|
||||
ltn : getresflags:=F_G;
|
||||
lten : getresflags:=F_GE;
|
||||
@ -299,7 +299,7 @@ unit nx86add;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
case nodetype of
|
||||
ltn : getresflags:=F_A;
|
||||
lten : getresflags:=F_AE;
|
||||
@ -342,7 +342,7 @@ unit nx86add;
|
||||
{ as it is done for subn }
|
||||
{ instead of two registers!!!! }
|
||||
{ adding elements is not commutative }
|
||||
if (nf_swaped in flags) and (left.nodetype=setelementn) then
|
||||
if (nf_swapped in flags) and (left.nodetype=setelementn) then
|
||||
swapleftright;
|
||||
{ are we adding set elements ? }
|
||||
if right.nodetype=setelementn then
|
||||
@ -366,10 +366,10 @@ unit nx86add;
|
||||
subn :
|
||||
begin
|
||||
op:=A_AND;
|
||||
if (not(nf_swaped in flags)) and
|
||||
if (not(nf_swapped in flags)) and
|
||||
(right.location.loc=LOC_CONSTANT) then
|
||||
right.location.value := not(right.location.value)
|
||||
else if (nf_swaped in flags) and
|
||||
else if (nf_swapped in flags) and
|
||||
(left.location.loc=LOC_CONSTANT) then
|
||||
left.location.value := not(left.location.value)
|
||||
else
|
||||
@ -406,8 +406,8 @@ unit nx86add;
|
||||
op:=A_CMP;
|
||||
lten,gten:
|
||||
begin
|
||||
if (not(nf_swaped in flags) and (nodetype = lten)) or
|
||||
((nf_swaped in flags) and (nodetype = gten)) then
|
||||
if (not(nf_swapped in flags) and (nodetype = lten)) or
|
||||
((nf_swapped in flags) and (nodetype = gten)) then
|
||||
swapleftright;
|
||||
location_force_reg(current_asmdata.CurrAsmList,left.location,opsize,true);
|
||||
emit_op_right_left(A_AND,opsize);
|
||||
@ -528,7 +528,7 @@ unit nx86add;
|
||||
if (right.location.loc=LOC_MMXREGISTER) then
|
||||
begin
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -555,7 +555,7 @@ unit nx86add;
|
||||
{ at this point, left.location.loc should be LOC_MMXREGISTER }
|
||||
if right.location.loc<>LOC_MMXREGISTER then
|
||||
begin
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
hreg:=tcgx86(cg).getmmxregister(current_asmdata.CurrAsmList);
|
||||
if right.location.loc=LOC_CMMXREGISTER then
|
||||
@ -588,11 +588,11 @@ unit nx86add;
|
||||
else
|
||||
begin
|
||||
{ right.location=LOC_MMXREGISTER }
|
||||
if (nodetype=subn) and (nf_swaped in flags) then
|
||||
if (nodetype=subn) and (nf_swapped in flags) then
|
||||
begin
|
||||
emit_reg_reg(op,S_NO,left.location.register,right.location.register);
|
||||
location_swap(left.location,right.location);
|
||||
toggleflag(nf_swaped);
|
||||
toggleflag(nf_swapped);
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -632,7 +632,7 @@ unit nx86add;
|
||||
if right.nodetype=setelementn then
|
||||
begin
|
||||
{ adding elements is not commutative }
|
||||
{ if nf_swaped in flags then
|
||||
{ if nf_swapped in flags then
|
||||
swapleftright;}
|
||||
{ bts requires both elements to be registers }
|
||||
{ location_force_reg(current_asmdata.CurrAsmList,left.location,opsize_2_cgsize[opsize],false);
|
||||
@ -657,8 +657,8 @@ unit nx86add;
|
||||
end;
|
||||
lten,gten:
|
||||
begin
|
||||
if (not(nf_swaped in flags) and (nodetype = lten)) or
|
||||
((nf_swaped in flags) and (nodetype = gten)) then
|
||||
if (not(nf_swapped in flags) and (nodetype = lten)) or
|
||||
((nf_swapped in flags) and (nodetype = gten)) then
|
||||
swapleftright;
|
||||
location_force_reg(current_asmdata.CurrAsmList,left.location,opsize,true);
|
||||
emit_op_right_left(A_AND,opsize);
|
||||
@ -696,7 +696,7 @@ unit nx86add;
|
||||
op : topcg;
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
case nodetype of
|
||||
@ -728,7 +728,7 @@ unit nx86add;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
location_force_mmregscalar(current_asmdata.CurrAsmList,left.location,false);
|
||||
@ -779,10 +779,10 @@ unit nx86add;
|
||||
else
|
||||
internalerror(200402221);
|
||||
end;
|
||||
if nf_swaped in flags then
|
||||
exclude(flags,nf_swaped)
|
||||
if nf_swapped in flags then
|
||||
exclude(flags,nf_swapped)
|
||||
else
|
||||
include(flags,nf_swaped)
|
||||
include(flags,nf_swapped)
|
||||
end
|
||||
else
|
||||
begin
|
||||
@ -815,7 +815,7 @@ unit nx86add;
|
||||
op : topcg;
|
||||
begin
|
||||
pass_left_right;
|
||||
if (nf_swaped in flags) then
|
||||
if (nf_swapped in flags) then
|
||||
swapleftright;
|
||||
|
||||
case nodetype of
|
||||
@ -884,7 +884,7 @@ unit nx86add;
|
||||
left_and_right_must_be_fpureg;
|
||||
|
||||
{ if we swaped the tree nodes, then use the reverse operator }
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
begin
|
||||
if (nodetype=slashn) then
|
||||
op:=A_FDIVRP
|
||||
@ -925,7 +925,7 @@ unit nx86add;
|
||||
emit_reg(A_FNSTSW,S_NO,NR_AX);
|
||||
emit_none(A_SAHF,S_NO);
|
||||
cg.ungetcpuregister(current_asmdata.CurrAsmList,NR_AX);
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
begin
|
||||
case nodetype of
|
||||
equaln : resflags:=F_E;
|
||||
@ -958,7 +958,7 @@ unit nx86add;
|
||||
tcgx86(cg).dec_fpu_stack;
|
||||
|
||||
{ load fpu flags }
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
begin
|
||||
case nodetype of
|
||||
equaln : resflags:=F_E;
|
||||
|
@ -186,7 +186,7 @@ implementation
|
||||
exit;
|
||||
|
||||
{ ofcourse not commutative }
|
||||
if nf_swaped in flags then
|
||||
if nf_swapped in flags then
|
||||
swapleftright;
|
||||
|
||||
if not(left.location.loc in [LOC_REGISTER,LOC_CREGISTER,LOC_REFERENCE,LOC_CREFERENCE]) then
|
||||
|
Loading…
Reference in New Issue
Block a user