diff options
author | Lena Djokic <Lena.Djokic@imgtec.com> | 2017-07-25 11:20:52 +0200 |
---|---|---|
committer | Lena Djokic <Lena.Djokic@imgtec.com> | 2017-07-25 14:27:30 +0200 |
commit | b3d79e430a4c0a447121890514cdee48e4675df4 (patch) | |
tree | ebc0f5fc16d5caf009f59550407abadbc40415ff /disassembler/disassembler_mips.cc | |
parent | 03ce1df8f9b1b8d207fc685fd084b96697a50182 (diff) |
MIPS: Add maddv/msubv MSA instructions
Added maddv.df, msubv.df, fmadd.df and fmsub.df MSA instructions
in assembler, disassembler and tests.
These instructions are needed for multiplyaccumulate support in
ART Vectorizer.
Test: mma test-art-host-gtest
Change-Id: Idef7faaeed47f1fef83fa58676ce664afe24ffe8
Diffstat (limited to 'disassembler/disassembler_mips.cc')
-rw-r--r-- | disassembler/disassembler_mips.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/disassembler/disassembler_mips.cc b/disassembler/disassembler_mips.cc index 7cb216e766..1a395a45d2 100644 --- a/disassembler/disassembler_mips.cc +++ b/disassembler/disassembler_mips.cc @@ -477,6 +477,10 @@ static const MipsInstruction gMipsInstructions[] = { { kMsaSpecialMask | (0xf << 2), kMsa | (0x8 << 2), "ld", "kw" }, { kMsaSpecialMask | (0xf << 2), kMsa | (0x9 << 2), "st", "kw" }, { kMsaMask | (0x7 << 23), kMsa | (0x5 << 23) | 0x14, "ilvr", "Vkmn" }, + { kMsaMask | (0x7 << 23), kMsa | (0x1 << 23) | 0x12, "maddv", "Vkmn" }, + { kMsaMask | (0x7 << 23), kMsa | (0x2 << 23) | 0x12, "msubv", "Vkmn" }, + { kMsaMask | (0xf << 22), kMsa | (0x4 << 22) | 0x1b, "fmadd", "Ukmn" }, + { kMsaMask | (0xf << 22), kMsa | (0x5 << 22) | 0x1b, "fmsub", "Ukmn" }, }; static uint32_t ReadU32(const uint8_t* ptr) { |