summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_mips.cc
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2017-01-03 11:13:50 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-01-03 11:13:51 +0000
commit66e3919bc42ddca40302ce5ee32e3ade248dd2b6 (patch)
tree3800e8499317efc4b5bca06e483b2bcbd9da8d9d /disassembler/disassembler_mips.cc
parent6a14c622700e088173ba909799c1e1785aeb4b34 (diff)
parente36605910cb13da1440fb9d7a8293842a9209c97 (diff)
Merge "MIPS64: java.lang.String.getChars"
Diffstat (limited to 'disassembler/disassembler_mips.cc')
-rw-r--r--disassembler/disassembler_mips.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/disassembler/disassembler_mips.cc b/disassembler/disassembler_mips.cc
index c82600b109..1f6b87447f 100644
--- a/disassembler/disassembler_mips.cc
+++ b/disassembler/disassembler_mips.cc
@@ -139,6 +139,8 @@ static const MipsInstruction gMipsInstructions[] = {
{ kSpecial0Mask | (0x1f << 16) | 0x7ff, (0x01 << 6) | 0x11, "clo", "DS" },
{ kSpecial0Mask | (0x1f << 16) | 0x7ff, (0x01 << 6) | 0x12, "dclz", "DS" },
{ kSpecial0Mask | (0x1f << 16) | 0x7ff, (0x01 << 6) | 0x13, "dclo", "DS" },
+ { kSpecial0Mask | 0x73f, 0x05, "lsa", "DSTj" },
+ { kSpecial0Mask | 0x73f, 0x15, "dlsa", "DSTj" },
// TODO: sdbbp
// SPECIAL2
@@ -490,6 +492,9 @@ size_t DisassemblerMips::Dump(std::ostream& os, const uint8_t* instr_ptr) {
case 'i': // Sign-extended lower 16-bit immediate.
args << static_cast<int16_t>(instruction & 0xffff);
break;
+ case 'j': // sa value for lsa/dlsa.
+ args << (sa + 1);
+ break;
case 'L': // Jump label.
{
// TODO: is this right?