https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115148
--- Comment #7 from Oleg Endo <olegendo at gcc dot gnu.org> --- (In reply to Oleg Endo from comment #5) > > The following hunk seems to fix the ".align 1" following the short byte table > > diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc > index ef3c2e6791d..01349328171 100644 > --- a/gcc/config/sh/sh.cc > +++ b/gcc/config/sh/sh.cc > @@ -5755,7 +5755,7 @@ barrier_align (rtx_insn *barrier_or_label) > return ((optimize_size > || ((unsigned) XVECLEN (pat, 1) * GET_MODE_SIZE (GET_MODE > (pat)) > <= (unsigned) 1 << (CACHE_LOG - 2))) > - ? 1 : align_jumps.levels[0].log); > + ? 2 : align_jumps.levels[0].log); > } > > rtx_insn *next = next_active_insn (barrier_or_label); > > Sorry, I forgot that ".align 1" actually means alignment on 2-byte boundary. So that shouldn't be the issue there.