* fixed writing of conditional branches which only depend on the value

of ctr
This commit is contained in:
Jonas Maebe 2003-11-29 18:17:26 +00:00
parent dbe054ba4e
commit 8cb7f46d9c

View File

@ -228,7 +228,7 @@ unit agppcgas;
else else
internalerror(2003112901); internalerror(2003112901);
end; end;
cond2str:=cond2str++#9+tostr(c.bo)+','+tostr(c.bi); cond2str:=cond2str++#9+tostr(c.bo)+','+tostr(c.bi)+',';
end; end;
true: true:
if (op >= A_B) and (op <= A_BCLRL) then if (op >= A_B) and (op <= A_BCLRL) then
@ -245,7 +245,7 @@ unit agppcgas;
DH_None: DH_None:
tempstr:=tempstr+#9; tempstr:=tempstr+#9;
DH_Minus: DH_Minus:
tempstr:=cond2str+('-'+#9); tempstr:=tempstr+('-'+#9);
DH_Plus: DH_Plus:
tempstr:=tempstr+('+'+#9); tempstr:=tempstr+('+'+#9);
else else
@ -253,9 +253,11 @@ unit agppcgas;
end; end;
case c.cond of case c.cond of
C_LT..C_NU: C_LT..C_NU:
cond2str := tempstr+gas_regname(newreg(R_SPECIALREGISTER,c.cr,R_SUBWHOLE)); cond2str := tempstr+gas_regname(newreg(R_SPECIALREGISTER,c.cr,R_SUBWHOLE))+',';
C_T..C_DZF: C_T,C_F,C_DNZT,C_DNZF,C_DZT,C_DZF:
cond2str := tempstr+tostr(c.crbit); cond2str := tempstr+tostr(c.crbit)+',';
else
cond2str := tempstr;
end; end;
end; end;
end end
@ -285,7 +287,7 @@ unit agppcgas;
A_BCTR,A_BCTRL,A_BLR,A_BLRL: A_BCTR,A_BCTRL,A_BLR,A_BLRL:
s:=#9+gas_op2str[op] s:=#9+gas_op2str[op]
else else
s:=cond2str(op,taicpu(hp).condition)+','; s:=cond2str(op,taicpu(hp).condition);
end; end;
if (taicpu(hp).ops>0) and (taicpu(hp).oper[0]^.typ<>top_none) then if (taicpu(hp).ops>0) and (taicpu(hp).oper[0]^.typ<>top_none) then
@ -321,7 +323,11 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.35 2003-11-29 16:27:19 jonas Revision 1.36 2003-11-29 18:17:26 jonas
* fixed writing of conditional branches which only depend on the value
of ctr
Revision 1.35 2003/11/29 16:27:19 jonas
* fixed several ppc assembler reader related problems * fixed several ppc assembler reader related problems
* local vars in assembler procedures now start at offset 4 * local vars in assembler procedures now start at offset 4
* fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??) * fixed second_int_to_bool (apparently an integer can be in LOC_JUMP??)