* Xtensa: fix TCPUAddNode.second_cmp

git-svn-id: trunk@44403 -
This commit is contained in:
florian 2020-03-29 17:13:47 +00:00
parent 0a40d927cb
commit b51f3d6e53

View File

@ -53,7 +53,7 @@ interface
hlcgobj;
{*****************************************************************************
TAVRAddNode
TCPUAddNode
*****************************************************************************}
procedure TCPUAddNode.second_cmpsmallset;
@ -124,13 +124,16 @@ interface
internalerror(2020030801);
end;
if right.nodetype=ordconstn then
if (right.nodetype=ordconstn) and not(nf_swapped in flags) then
cg.a_cmp_const_reg_label(current_asmdata.CurrAsmList,OS_INT,cond,right.location.value,left.location.register,location.truelabel)
else
begin
force_reg_left_right(false,false);
cg.a_cmp_reg_reg_label(current_asmdata.CurrAsmList,OS_INT,cond,left.location.register,right.location.register,location.truelabel);
end;
if nf_swapped in flags then
cg.a_cmp_reg_reg_label(current_asmdata.CurrAsmList,OS_INT,cond,left.location.register,right.location.register,location.truelabel)
else
cg.a_cmp_reg_reg_label(current_asmdata.CurrAsmList,OS_INT,cond,right.location.register,left.location.register,location.truelabel);
end;
current_asmdata.CurrAsmList.concat(taicpu.op_sym(A_J,location.falselabel));
end;
@ -176,3 +179,4 @@ interface
begin
caddnode:=tcpuaddnode;
end.