[ARC] Add support for advanced mpy/mac instructions.
authorClaudiu Zissulescu <claziss@synopsys.com>
Tue, 9 May 2017 14:19:47 +0000 (16:19 +0200)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Tue, 9 May 2017 14:19:47 +0000 (16:19 +0200)
commit79557baea826fb4493037e6ebbbb65ca0d359d9c
treedb53e1cab829adad394f0dff951fea3234c5d572
parentc7314bc17b9dde51f1eac83dc399d411f5fdd4a0
[ARC] Add support for advanced mpy/mac instructions.

gcc/
2017-05-09  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_conditional_register_usage): Handle ACCL,
ACCH registers.
* config/arc/arc.md (mulsidi3): Use advanced mpy instructions when
available.
(umulsidi3): Likewise.
(mulsidi3_700): Disable this pattern when we have advanced mpy
instructions.
(umulsidi3_700): Likewise.
(maddsidi4): New pattern.
(macd, mac, mac_r, umaddsidi4, macdu, macu, macu_r): Likewise.
(mpyd_arcv2hs, mpyd_imm_arcv2hs, mpydu_arcv2hs): Likewise.
(mpydu_imm_arcv2hs): Likewise.
* config/arc/predicates.md (accl_operand): New predicate.

From-SVN: r247797
ChangeLog
gcc/config/arc/arc.c
gcc/config/arc/arc.md
gcc/config/arc/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/tmac-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/tmac-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/arc/tmac.h [new file with mode: 0644]