diff options
author | Claudiu Zissulescu <claziss@gmail.com> | 2020-12-11 18:27:21 +0200 |
---|---|---|
committer | Claudiu Zissulescu <claziss@synopsys.com> | 2020-12-11 18:29:56 +0200 |
commit | a412be00c49406889a84791935194fc54a89ff79 (patch) | |
tree | 5fcd154ff61ff06c9e4cf00144012b4fc273e856 | |
parent | dfbe642c97f7f430926cb6b33cd5c20b42c85573 (diff) | |
download | gcc-a412be00c49406889a84791935194fc54a89ff79.zip gcc-a412be00c49406889a84791935194fc54a89ff79.tar.gz gcc-a412be00c49406889a84791935194fc54a89ff79.tar.bz2 |
arc: Avoid generating brcc instructions with limm
BRcc instructions are generated quite late in the compilation
process. These instructions combines a compare with a regular
conditional branch if the result of the compare is not used
anylonger. However, when compiling for size, it is better to avoid
BRcc instructions which are introducing a 32-bit long immediate.
gcc/
2020-12-11 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (arc_reorg): Avoid limm in BRcc.
-rw-r--r-- | gcc/config/arc/arc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index b80bb9b..27bd458 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -8589,6 +8589,7 @@ arc_reorg (void) if (!brcc_nolimm_operator (op, VOIDmode) && !long_immediate_operand (op1, VOIDmode) && (TARGET_ARC700 + || (TARGET_V2 && optimize_size) || next_active_insn (link_insn) != insn)) continue; |