Index: runtime/vm/disassembler_x64.cc |
diff --git a/runtime/vm/disassembler_x64.cc b/runtime/vm/disassembler_x64.cc |
index 40a0e45309fa041f9b58d12b8ef7005949148252..3c751e5f484c522a3f8a9c5a360e633c352ab25d 100644 |
--- a/runtime/vm/disassembler_x64.cc |
+++ b/runtime/vm/disassembler_x64.cc |
@@ -1199,7 +1199,14 @@ int DisassemblerX64::TwoByteOpcodeInstruction(uint8_t* data) { |
if (operand_size_ == 0x66) { |
// 0x66 0x0F prefix. |
int mod, regop, rm; |
- if (opcode == 0x3A) { |
+ if (opcode == 0xC6) { |
+ int mod, regop, rm; |
+ get_modrm(*current, &mod, ®op, &rm); |
+ AppendToBuffer("shufpd %s, ", NameOfXMMRegister(regop)); |
+ current += PrintRightXMMOperand(current); |
+ AppendToBuffer(" [%x]", *current); |
+ current++; |
+ } else if (opcode == 0x3A) { |
uint8_t third_byte = *current; |
current = data + 3; |
if (third_byte == 0x17) { |