[ARC] Avoid specific constants to end in limm field.
commitcd29e157eeff0cff85c4fd0fa889ac611dc4b4ab
authorclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Oct 2018 09:37:46 +0000 (1 09:37 +0000)
committerclaziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 1 Oct 2018 09:37:46 +0000 (1 09:37 +0000)
treef9952dbead7a8869cd70d50645a0ae67c3b3e270
parent1212cc77e47b4c9abbb32d726438416417b98848
[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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264737 138bc75d-0d04-0410-961f-82ee72b054a4
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]