aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-nested.c
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2019-06-10 10:25:25 +0200
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2019-06-10 10:25:25 +0200
commit03301dcc8402e51506e0f64ace9c83e36d2fefc7 (patch)
treedda2787f645488fcba9e72e990178e02356ed37e /gcc/tree-nested.c
parent07b8d0afe8c177d096bf77c97f03f41b34bb18cb (diff)
downloadgcc-03301dcc8402e51506e0f64ace9c83e36d2fefc7.zip
gcc-03301dcc8402e51506e0f64ace9c83e36d2fefc7.tar.gz
gcc-03301dcc8402e51506e0f64ace9c83e36d2fefc7.tar.bz2
[ARC] Improve code gen when compiling for size
When optimizing for size, try to avoid using long immediate by employing alternative instructions. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-protos.h (arc_check_ior_const): Declare. (arc_split_ior): Likewise. (arc_check_mov_const): Likewise. (arc_split_mov_const): Likewise. * config/arc/arc.c (arc_print_operand): Fix 'z' letter. (arc_rtx_costs): Replace check Crr with Cax constraint. (prepare_move_operands): Cleanup, remove unused code. (arc_split_ior): New function. (arc_check_ior_const): Likewise. (arc_split_mov_const): Likewise. (arc_check_mov_const): Likewise. * config/arc/arc.md (movsi_insn): Restructure it, and convert it in define_insn_and_split pattern. (iorsi3): Likewise. (mulsi3_v2): Add new matching variant. (andsi3_i): Cleanup pattern. (rotrsi3_cnt1): Update pattern. (rotrsi3_cnt8): New pattern. (ashlsi2_cnt8): Likewise. (ashlsi2_cnt16): Likewise. * config/arc/constraints.md (C0p): Update constraint. (Crr): Remove it. (C0x): New pattern. (Cax): New pattern. testsuite/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/and-cnst-size.c: New test. * gcc.target/arc/mov-cnst-size.c: Likewise. * gcc.target/arc/or-cnst-size.c: Likewise. * gcc.target/arc/store-merge-1.c: Update test. * gcc.target/arc/arc700-stld-hazard.c: Likewise. * gcc.target/arc/cmem-1.c: Likewise. * gcc.target/arc/cmem-2.c: Likewise. * gcc.target/arc/cmem-3.c: Likewise. * gcc.target/arc/cmem-4.c: Likewise. * gcc.target/arc/cmem-5.c: Likewise. * gcc.target/arc/cmem-6.c: Likewise. * gcc.target/arc/loop-4.c: Likewise. * gcc.target/arc/movh_cl-1.c: Likewise. * gcc.target/arc/sdata-3.c: Likewise. From-SVN: r272112
Diffstat (limited to 'gcc/tree-nested.c')
0 files changed, 0 insertions, 0 deletions