Index: src/ia32/disasm-ia32.cc |
diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc |
index 22c2a55c17b9413c413fd064bbbf2bbf68c3d1ea..04279d08bfb751afffe8d5025b9d1300ae392ce1 100644 |
--- a/src/ia32/disasm-ia32.cc |
+++ b/src/ia32/disasm-ia32.cc |
@@ -1386,6 +1386,15 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer, |
NameOfXMMRegister(regop), |
NameOfXMMRegister(rm)); |
data++; |
+ } else if (*data == 0x72) { |
+ data++; |
+ int mod, regop, rm; |
+ get_modrm(*data, &mod, ®op, &rm); |
+ int8_t imm8 = static_cast<int8_t>(data[1]); |
+ DCHECK(regop == esi || regop == edx); |
+ AppendToBuffer("%s %s,%d", (regop == esi) ? "pslld" : "psrld", |
+ NameOfXMMRegister(rm), static_cast<int>(imm8)); |
+ data += 2; |
} else if (*data == 0x73) { |
data++; |
int mod, regop, rm; |