| Index: src/mips/disasm-mips.cc
|
| diff --git a/src/mips/disasm-mips.cc b/src/mips/disasm-mips.cc
|
| index 48427c54558650e2e3d2a8402af116ac5ba8f227..1d505750a5026626ecf97708c61d36288a248c3f 100644
|
| --- a/src/mips/disasm-mips.cc
|
| +++ b/src/mips/disasm-mips.cc
|
| @@ -1346,9 +1346,13 @@ void Decoder::DecodeTypeImmediate(Instruction* instr) {
|
| case BGEZ:
|
| Format(instr, "bgez 'rs, 'imm16u -> 'imm16p4s2");
|
| break;
|
| - case BGEZAL:
|
| - Format(instr, "bgezal 'rs, 'imm16u -> 'imm16p4s2");
|
| + case BGEZAL: {
|
| + if (instr->RsValue() == 0)
|
| + Format(instr, "bal 'imm16s -> 'imm16p4s2");
|
| + else
|
| + Format(instr, "bgezal 'rs, 'imm16u -> 'imm16p4s2");
|
| break;
|
| + }
|
| case BGEZALL:
|
| Format(instr, "bgezall 'rs, 'imm16u -> 'imm16p4s2");
|
| break;
|
|
|