| Index: src/arm64/disasm-arm64.cc
 | 
| diff --git a/src/arm64/disasm-arm64.cc b/src/arm64/disasm-arm64.cc
 | 
| index 00c3ec25d6a76331547e6e5ecbc14e6196703789..2727081ced36fe0442af4541ef88d183d4d70711 100644
 | 
| --- a/src/arm64/disasm-arm64.cc
 | 
| +++ b/src/arm64/disasm-arm64.cc
 | 
| @@ -914,6 +914,34 @@ void DisassemblingDecoder::VisitLoadStorePairOffset(Instruction* instr) {
 | 
|    Format(instr, mnemonic, form);
 | 
|  }
 | 
|  
 | 
| +void DisassemblingDecoder::VisitLoadStoreAcquireRelease(Instruction *instr) {
 | 
| +  const char *mnemonic = "unimplemented";
 | 
| +  const char *form = "'Wt, ['Xn]";
 | 
| +  const char *form_x = "'Xt, ['Xn]";
 | 
| +  const char *form_stlx = "'Ws, 'Wt, ['Xn]";
 | 
| +  const char *form_stlx_x = "'Ws, 'Xt, ['Xn]";
 | 
| +
 | 
| +  switch (instr->Mask(LoadStoreAcquireReleaseMask)) {
 | 
| +    case LDAXR_b: mnemonic = "ldaxrb"; break;
 | 
| +    case STLR_b:  mnemonic = "stlrb"; break;
 | 
| +    case LDAR_b:  mnemonic = "ldarb"; break;
 | 
| +    case LDAXR_h: mnemonic = "ldaxrh"; break;
 | 
| +    case STLR_h:  mnemonic = "stlrh"; break;
 | 
| +    case LDAR_h:  mnemonic = "ldarh"; break;
 | 
| +    case LDAXR_w: mnemonic = "ldaxr"; break;
 | 
| +    case STLR_w:  mnemonic = "stlr"; break;
 | 
| +    case LDAR_w:  mnemonic = "ldar"; break;
 | 
| +    case LDAXR_x: mnemonic = "ldaxr"; form = form_x; break;
 | 
| +    case STLR_x:  mnemonic = "stlr"; form = form_x; break;
 | 
| +    case LDAR_x:  mnemonic = "ldar"; form = form_x; break;
 | 
| +    case STLXR_h: mnemonic = "stlxrh"; form = form_stlx; break;
 | 
| +    case STLXR_b: mnemonic = "stlxrb"; form = form_stlx; break;
 | 
| +    case STLXR_w: mnemonic = "stlxr"; form = form_stlx; break;
 | 
| +    case STLXR_x: mnemonic = "stlxr"; form = form_stlx_x; break;
 | 
| +    default: form = "(LoadStoreAcquireReleaseMask)";
 | 
| +  }
 | 
| +  Format(instr, mnemonic, form);
 | 
| +}
 | 
|  
 | 
|  void DisassemblingDecoder::VisitFPCompare(Instruction* instr) {
 | 
|    const char *mnemonic = "unimplemented";
 | 
| @@ -1295,6 +1323,9 @@ int DisassemblingDecoder::SubstituteRegisterField(Instruction* instr,
 | 
|        }
 | 
|        break;
 | 
|      }
 | 
| +    case 's':
 | 
| +      reg_num = instr->Rs();
 | 
| +      break;
 | 
|      default: UNREACHABLE();
 | 
|    }
 | 
|  
 | 
| 
 |