-
- Downloads
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
PR target/51244 * config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove get_t_reg_rtx when invoking gen_branch_true or gen_branch_false. (*zero_extend<mode>si2_compact): Convert to insn_and_split. Convert zero extensions of T bit stores to reg moves in splitter. Remove obsolete unnamed peephole2 that caught zero extensions after negc T bit stores. (*branch_true_eq, *branch_false_ne): Delete. (branch_true, branch_false): Convert insn to expander. Move actual insn logic to... (*cbranch_t): ...this new insn_and_split. Try to find preceding redundant T bit stores and tests and combine them with the conditional branch if possible in the splitter. (movrt_xor, *movt_movrt): New insn_and_split. * config/sh/predicates.md (cbranch_treg_value): New predicate. * config/sh/sh-protos.h (sh_eval_treg_value): Forward declare... * config/sh/sh.c (sh_eval_treg_value): ...this new function. (expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx when invoking gen_branch_true or gen_branch_false. PR target/51244 * gcc.target/sh/pr51244-13.c: New. * gcc.target/sh/pr51244-14.c: New. * gcc.target/sh/pr51244-15.c: New. * gcc.target/sh/pr51244-16.c: New. From-SVN: r192387
Showing
- gcc/ChangeLog 22 additions, 0 deletionsgcc/ChangeLog
- gcc/config/sh/predicates.md 8 additions, 0 deletionsgcc/config/sh/predicates.md
- gcc/config/sh/sh-protos.h 1 addition, 0 deletionsgcc/config/sh/sh-protos.h
- gcc/config/sh/sh.c 44 additions, 7 deletionsgcc/config/sh/sh.c
- gcc/config/sh/sh.md 209 additions, 56 deletionsgcc/config/sh/sh.md
- gcc/testsuite/ChangeLog 8 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gcc.target/sh/pr51244-13.c 85 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr51244-13.c
- gcc/testsuite/gcc.target/sh/pr51244-14.c 107 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr51244-14.c
- gcc/testsuite/gcc.target/sh/pr51244-15.c 71 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr51244-15.c
- gcc/testsuite/gcc.target/sh/pr51244-16.c 11 additions, 0 deletionsgcc/testsuite/gcc.target/sh/pr51244-16.c
Loading
Please register or sign in to comment