[ARC] Avoid specific constants to end in limm field.
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 1 Oct 2018 09:37:46 +0000 (11:37 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 1 Oct 2018 09:37:46 +0000 (11:37 +0200)
commite04108c7274d5066fcc791ec254f843a3ff694aa
treef9952dbead7a8869cd70d50645a0ae67c3b3e270
parent97e1d32c5e6efdfac3a9d6c56e8127b958fff88f
[ARC] Avoid specific constants to end in limm field.

Avoid constants to end up in the limm field for particular
instructions when compiling for size.

gcc/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.md (*add_n): Clean up pattern, update instruction
constraints.
(ashlsi3_insn): Update instruction constraints.
(ashrsi3_insn): Likewise.
(rotrsi3): Likewise.
(add_shift): Likewise.
* config/arc/constraints.md (Csz): New 32 bit constraint. It
avoids placing in the limm field small constants which, otherwise,
could end into a small instruction.

testsuite/
xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/tph_addx.c: New test.

From-SVN: r264737
gcc/ChangeLog
gcc/config/arc/arc.md
gcc/config/arc/constraints.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/tph_addx.c [new file with mode: 0644]