diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sh/sh.c | 9 |
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1227fefd139..035775a52e8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Jun 21 22:15:10 2001 J"orn Rennecke <amylaar@redhat.com> + + * sh.c (barrier_align): Also recognize branch-around-a-jump-sequence + from machine-depedent_reorg for purposes of alignment supression + when no delay slot insn has been added. + 2001-06-21 Neil Booth <neil@cat.daikokuya.demon.co.uk> * cppmacro.c (make_string_token): Null terminate. diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c index 103a52434d6..db7ec5f60e2 100644 --- a/gcc/config/sh/sh.c +++ b/gcc/config/sh/sh.c @@ -2948,11 +2948,10 @@ barrier_align (barrier_or_label) /* There is no upper bound on redundant instructions that might have been skipped, but we must not put an alignment where none had been before. */ - || (NEXT_INSN (PREV_INSN (prev)) != prev - && ((INSN_CODE (NEXT_INSN (NEXT_INSN (prev))) - == CODE_FOR_block_branch_redirect) - || (INSN_CODE (NEXT_INSN (NEXT_INSN (prev))) - == CODE_FOR_indirect_jump_scratch))))) + || (INSN_CODE (NEXT_INSN (NEXT_INSN (PREV_INSN (prev)))) + == CODE_FOR_block_branch_redirect) + || (INSN_CODE (NEXT_INSN (NEXT_INSN (PREV_INSN (prev)))) + == CODE_FOR_indirect_jump_scratch))) { rtx pat = PATTERN (prev); if (GET_CODE (pat) == PARALLEL) |