| Index: runtime/vm/disassembler_arm64.cc
|
| ===================================================================
|
| --- runtime/vm/disassembler_arm64.cc (revision 35221)
|
| +++ runtime/vm/disassembler_arm64.cc (working copy)
|
| @@ -195,28 +195,28 @@
|
| Print("]");
|
| } else {
|
| switch (instr->Bits(10, 2)) {
|
| - case 1: {
|
| + case 0: {
|
| + // rn + signed 9-bit immediate, pre-index, no writeback.
|
| const int32_t imm9 = instr->SImm9Field();
|
| - // rn + signed 9-bit immediate, post-index, writeback.
|
| Print("[");
|
| PrintRegister(rn, R31IsSP);
|
| + buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
|
| + remaining_size_in_buffer(),
|
| + ", #%d",
|
| + imm9);
|
| Print("]");
|
| - buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
|
| - remaining_size_in_buffer(),
|
| - ", #%d !",
|
| - imm9);
|
| break;
|
| }
|
| - case 3: {
|
| + case 1: {
|
| const int32_t imm9 = instr->SImm9Field();
|
| - // rn + signed 9-bit immediate, pre-index, writeback.
|
| + // rn + signed 9-bit immediate, post-index, writeback.
|
| Print("[");
|
| PrintRegister(rn, R31IsSP);
|
| + Print("]");
|
| buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
|
| remaining_size_in_buffer(),
|
| - ", #%d",
|
| + ", #%d !",
|
| imm9);
|
| - Print("] !");
|
| break;
|
| }
|
| case 2: {
|
| @@ -237,6 +237,18 @@
|
| Print("]");
|
| break;
|
| }
|
| + case 3: {
|
| + const int32_t imm9 = instr->SImm9Field();
|
| + // rn + signed 9-bit immediate, pre-index, writeback.
|
| + Print("[");
|
| + PrintRegister(rn, R31IsSP);
|
| + buffer_pos_ += OS::SNPrint(current_position_in_buffer(),
|
| + remaining_size_in_buffer(),
|
| + ", #%d",
|
| + imm9);
|
| + Print("] !");
|
| + break;
|
| + }
|
| default: {
|
| Print("???");
|
| }
|
|
|