Index: src/x64/disasm-x64.cc |
diff --git a/src/x64/disasm-x64.cc b/src/x64/disasm-x64.cc |
index c8606c40b2a1758a2e4cf0706321456ffb0a81fb..fb0914d7d02a0f9fd74f83a443863044aa3b118a 100644 |
--- a/src/x64/disasm-x64.cc |
+++ b/src/x64/disasm-x64.cc |
@@ -1244,6 +1244,13 @@ int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) { |
AppendToBuffer("xorps %s, ", NameOfXMMRegister(regop)); |
current += PrintRightXMMOperand(current); |
+ } else if (opcode == 0x50) { |
+ // movmskps reg, xmm |
+ int mod, regop, rm; |
+ get_modrm(*current, &mod, ®op, &rm); |
+ AppendToBuffer("movmskps %s, ", NameOfCPURegister(regop)); |
+ current += PrintRightXMMOperand(current); |
+ |
} else if ((opcode & 0xF0) == 0x80) { |
// Jcc: Conditional jump (branch). |
current = data + JumpConditional(data); |
@@ -1724,6 +1731,11 @@ int DisassemblerX64::InstructionDecode(v8::internal::Vector<char> out_buffer, |
data += F6F7Instruction(data); |
break; |
+ case 0x3C: |
+ AppendToBuffer("cmp al, 0x%x", *reinterpret_cast<int8_t*>(data + 1)); |
+ data +=2; |
+ break; |
+ |
default: |
UnimplementedInstruction(); |
data += 1; |