| Index: src/mips/disasm-mips.cc
|
| diff --git a/src/mips/disasm-mips.cc b/src/mips/disasm-mips.cc
|
| index 3513c4a496ee594e4d57764be96a768da062a67a..bd07874bd67de689859e7c8aa1c6420c92dfecba 100644
|
| --- a/src/mips/disasm-mips.cc
|
| +++ b/src/mips/disasm-mips.cc
|
| @@ -1264,11 +1264,30 @@ void Decoder::DecodeTypeRegisterSPECIAL3(Instruction* instr) {
|
| }
|
| break;
|
| }
|
| - case SEB:
|
| - case SEH:
|
| - case WSBH:
|
| - UNREACHABLE();
|
| + case SEB: {
|
| + if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
|
| + Format(instr, "seb 'rd, 'rt");
|
| + } else {
|
| + Unknown(instr);
|
| + }
|
| break;
|
| + }
|
| + case SEH: {
|
| + if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
|
| + Format(instr, "seh 'rd, 'rt");
|
| + } else {
|
| + Unknown(instr);
|
| + }
|
| + break;
|
| + }
|
| + case WSBH: {
|
| + if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
|
| + Format(instr, "wsbh 'rd, 'rt");
|
| + } else {
|
| + Unknown(instr);
|
| + }
|
| + break;
|
| + }
|
| default: {
|
| sa >>= kBp2Bits;
|
| switch (sa) {
|
|
|