http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685
--- Comment #9 from Oleg Endo <olegendo at gcc dot gnu.org> --- This is basically the same issue as PR 59533. emit_store_flag_1 in expmed.c always expands the not-shift because the assumption there is that it's cheaper, which is not true for SH. The pre-peephole idea from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59533#c2 also fixes this problem and makes the change in r192200 superfluous.