| Index: src/mips64/disasm-mips64.cc
|
| diff --git a/src/mips64/disasm-mips64.cc b/src/mips64/disasm-mips64.cc
|
| index ee624db2f8cab4d92fb4df9d02e74baaeb11c558..0723190871959b507fff262f81c63f36a93ac270 100644
|
| --- a/src/mips64/disasm-mips64.cc
|
| +++ b/src/mips64/disasm-mips64.cc
|
| @@ -1510,9 +1510,13 @@ void Decoder::DecodeTypeImmediateREGIMM(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;
|
|
|