aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorOleg Endo <olegendo@gcc.gnu.org>2012-10-15 22:08:07 +0000
committerOleg Endo <olegendo@gcc.gnu.org>2012-10-15 22:08:07 +0000
commit26943929c00ae27dcd63706c642bc3d827adcf4a (patch)
tree4345633a0ae1c37863cf324ef3c7e80f33d28125 /gcc/expr.c
parent14df3f361e5aaa4145ab242886e3a857d4ae078c (diff)
downloadgcc-26943929c00ae27dcd63706c642bc3d827adcf4a.zip
gcc-26943929c00ae27dcd63706c642bc3d827adcf4a.tar.gz
gcc-26943929c00ae27dcd63706c642bc3d827adcf4a.tar.bz2
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244 * config/sh/sh-protos.h (set_of_reg): New struct. (sh_find_set_of_reg, sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): Declare... * config/sh/sh.c (sh_find_set_of_reg, sh_is_logical_t_store_expr, sh_try_omit_signzero_extend): ...these new functions. * config/sh/sh.md (*logical_op_t): New insn_and_split. (*zero_extend<mode>si2_compact): Use sh_try_omit_signzero_extend in splitter. (*extend<mode>si2_compact_reg): Convert to insn_and_split. Use sh_try_omit_signzero_extend in splitter. (*mov<mode>_reg_reg): Disallow t_reg_operand as operand 1. (*cbranch_t): Rewrite combine part in splitter using new sh_find_set_of_reg function. PR target/51244 * gcc.target/sh/pr51244-17.c: New. From-SVN: r192481
Diffstat (limited to 'gcc/expr.c')
0 files changed, 0 insertions, 0 deletions