From a7cbf19a82c75e9a65e90fb8ba4947e2fc52ef39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 8 Jun 2021 14:04:59 +0200 Subject: deps: update V8 to 9.1.269.36 PR-URL: https://github.com/nodejs/node/pull/38273 Reviewed-By: Jiawen Geng Reviewed-By: Colin Ihrig Reviewed-By: Antoine du Hamel Reviewed-By: Michael Dawson Reviewed-By: Mary Marchini --- deps/v8/src/diagnostics/ppc/disasm-ppc.cc | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'deps/v8/src/diagnostics/ppc/disasm-ppc.cc') diff --git a/deps/v8/src/diagnostics/ppc/disasm-ppc.cc b/deps/v8/src/diagnostics/ppc/disasm-ppc.cc index 37f8ddc040..9757c8901b 100644 --- a/deps/v8/src/diagnostics/ppc/disasm-ppc.cc +++ b/deps/v8/src/diagnostics/ppc/disasm-ppc.cc @@ -265,6 +265,11 @@ int Decoder::FormatOption(Instruction* instr, const char* format) { out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "%d", value); return 6; } + case 'F': { // FXM + uint8_t value = instr->Bits(19, 12); + out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "%d", value); + return 3; + } case 'U': { // UIM int32_t value = instr->Bits(20, 16); out_buffer_pos_ += SNPrintF(out_buffer_ + out_buffer_pos_, "%d", value); @@ -412,6 +417,16 @@ void Decoder::DecodeExt0(Instruction* instr) { } PPC_VA_OPCODE_A_FORM_LIST(DECODE_VA_A_FORM__INSTRUCTIONS) #undef DECODE_VA_A_FORM__INSTRUCTIONS + } + switch (EXT0 | (instr->BitField(9, 0))) { +// TODO(miladfarca): Fix RC indicator. +#define DECODE_VC_FORM__INSTRUCTIONS(name, opcode_name, opcode_value) \ + case opcode_name: { \ + Format(instr, #name " 'Vt, 'Va, 'Vb"); \ + return; \ + } + PPC_VC_OPCODE_LIST(DECODE_VC_FORM__INSTRUCTIONS) +#undef DECODE_VC_FORM__INSTRUCTIONS } switch (EXT0 | (instr->BitField(10, 0))) { #define DECODE_VX_A_FORM__INSTRUCTIONS(name, opcode_name, opcode_value) \ @@ -790,7 +805,7 @@ void Decoder::DecodeExt2(Instruction* instr) { } // ?? are all of these xo_form? - switch (EXT2 | (instr->BitField(9, 1))) { + switch (EXT2 | (instr->BitField(10, 1))) { case CMP: { #if V8_TARGET_ARCH_PPC64 if (instr->Bit(21)) { @@ -1056,6 +1071,14 @@ void Decoder::DecodeExt2(Instruction* instr) { Format(instr, "mtvsrwz 'Xt, 'ra"); return; } + case LDBRX: { + Format(instr, "ldbrx 'rt, 'ra, 'rb"); + return; + } + case MTCRF: { + Format(instr, "mtcrf 'FXM, 'rs"); + return; + } #endif } @@ -1254,6 +1277,12 @@ void Decoder::DecodeExt5(Instruction* instr) { } void Decoder::DecodeExt6(Instruction* instr) { + switch (EXT6 | (instr->BitField(10, 2))) { + case XXBRQ: { + Format(instr, "xxbrq 'Xt, 'Xb"); + return; + } + } switch (EXT6 | (instr->BitField(10, 1))) { case XXSPLTIB: { Format(instr, "xxspltib 'Xt, 'IMM8"); -- cgit v1.2.1