mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-16 05:30:37 +01:00
* don't output inc/dec if cs_check_overflow is on, because inc/dec don't change
the carry flag
This commit is contained in:
parent
601c7e4f44
commit
0bcc355213
@ -913,21 +913,24 @@ implementation
|
||||
end
|
||||
else if (p^.right^.treetype=ordconstn) and
|
||||
(op=A_ADD) and
|
||||
(p^.right^.value=1) then
|
||||
(p^.right^.value=1) and
|
||||
not(cs_check_overflow in aktlocalswitches) then
|
||||
begin
|
||||
exprasmlist^.concat(new(pai386,op_reg(A_INC,opsize,
|
||||
p^.location.register)));
|
||||
end
|
||||
else if (p^.right^.treetype=ordconstn) and
|
||||
(op=A_SUB) and
|
||||
(p^.right^.value=1) then
|
||||
(p^.right^.value=1) and
|
||||
not(cs_check_overflow in aktlocalswitches) then
|
||||
begin
|
||||
exprasmlist^.concat(new(pai386,op_reg(A_DEC,opsize,
|
||||
p^.location.register)));
|
||||
end
|
||||
else if (p^.right^.treetype=ordconstn) and
|
||||
(op=A_IMUL) and
|
||||
(ispowerof2(p^.right^.value,power)) then
|
||||
(ispowerof2(p^.right^.value,power)) and
|
||||
not(cs_check_overflow in aktlocalswitches) then
|
||||
begin
|
||||
exprasmlist^.concat(new(pai386,op_const_reg(A_SHL,opsize,power,
|
||||
p^.location.register)));
|
||||
@ -1734,7 +1737,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.37 1998-12-22 13:10:56 florian
|
||||
Revision 1.38 1999-01-05 17:03:36 jonas
|
||||
* don't output inc/dec if cs_check_overflow is on, because inc/dec don't change
|
||||
the carry flag
|
||||
|
||||
Revision 1.37 1998/12/22 13:10:56 florian
|
||||
* memory leaks for ansistring type casts fixed
|
||||
|
||||
Revision 1.36 1998/12/19 00:23:40 florian
|
||||
|
||||
Loading…
Reference in New Issue
Block a user