avr-protos.h (avr_out_sbxx_branch): Declare.
authorMarek Michalkiewicz <marekm@amelek.gda.pl>
Sun, 26 May 2002 20:19:32 +0000 (22:19 +0200)
committerMarek Michalkiewicz <marekm@gcc.gnu.org>
Sun, 26 May 2002 20:19:32 +0000 (20:19 +0000)
commit331ca3501dda7ce9a91996117c5127d52ac1e02c
treeea23f56fa9169a28bf2f05e88970c86fa1a79396
parent9059e33cbbb601ed3a7f36d62a4dc7600b72bc60
avr-protos.h (avr_out_sbxx_branch): Declare.

* config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
* config/avr/avr.c (jump_over_one_insn_p): Take length of the
branch insn into account, do not assume 1.
(avr_out_sbxx_branch): New function.  Optimize cases of skipping
over single word insn.  Handle upper half of I/O space too.
* config/avr/avr.md (*sbrx_branch): Use it.
(*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
(*sbix_branch, *sbix_branch_bit7): Likewise.
(*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
Use RTL peepholes to optimize register operand sign tests.

From-SVN: r53906
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md