OSDN Git Service

* config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
authormarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 26 May 2002 20:19:32 +0000 (20:19 +0000)
committermarekm <marekm@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 26 May 2002 20:19:32 +0000 (20:19 +0000)
commit4af90ac0ff568bd756c4ff02969728d78428222a
treeea23f56fa9169a28bf2f05e88970c86fa1a79396
parenteb08d40380fe4d19944db4c6010c31672886bd54
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53906 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.md