aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/arc/arc.h
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2016-12-16 13:56:09 +0100
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2016-12-16 13:56:09 +0100
commitd476b53c3651786fa283f89ad9434731f4f902e9 (patch)
tree1eac28fb70034876808df669e37acd4f99b4f50c /gcc/config/arc/arc.h
parentcc0ca4999b681022fe5a409d187d4af2f86adff2 (diff)
downloadgcc-d476b53c3651786fa283f89ad9434731f4f902e9.zip
gcc-d476b53c3651786fa283f89ad9434731f4f902e9.tar.gz
gcc-d476b53c3651786fa283f89ad9434731f4f902e9.tar.bz2
[ARC] Rework ARC600 64-bit multiplication patterns.
Previously users of mulsidi_600 and umulsidi_600 had to take care of moving the multiplication result into the final destination themselves (from the MUL64_OUT_REG register). This commit converts these two instruction patterns into insn_and_split patterns that now take the final destination as an extra operand. The insn_and_split patterns generate the multiplication using two new multiplication instruction patterns, then generate the move of the result from the MUL64_OUT_REG register into the final destination. This is a clean up commit, there should be no user visible changes after this commit. 2016-12-16 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (mulsidi_600): Change to insn_and_split, generate new mul64 insn for core multiplication work. (umulsidi_600): Likewise, but use mulu64 insn. (mul64): New pattern, content taken from old mulsidi_600 insn pattern. (mulu64): Likewise, but using umulsidi_600. (mulsidi3): Remove move to destination, this is now handled by mulsidi_600 insn_and_split. (umulsidi3): Likewise, but using umulsidi_600. From-SVN: r243741
Diffstat (limited to 'gcc/config/arc/arc.h')
0 files changed, 0 insertions, 0 deletions