| Index: src/ia32/disasm-ia32.cc
|
| diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc
|
| index a7613c96275d2ca6f20e2d3b193691aefc73ba52..d7b28d5bf127a21859faaa1d73016d8ea915afc8 100644
|
| --- a/src/ia32/disasm-ia32.cc
|
| +++ b/src/ia32/disasm-ia32.cc
|
| @@ -1042,6 +1042,22 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
|
| NameOfXMMRegister(regop),
|
| NameOfXMMRegister(rm));
|
| data++;
|
| + } else if (f0byte == 0x54) {
|
| + data += 2;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + AppendToBuffer("andps %s,%s",
|
| + NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(rm));
|
| + data++;
|
| + } else if (f0byte == 0x56) {
|
| + data += 2;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + AppendToBuffer("orps %s,%s",
|
| + NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(rm));
|
| + data++;
|
| } else if (f0byte == 0x57) {
|
| data += 2;
|
| int mod, regop, rm;
|
| @@ -1189,6 +1205,13 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
|
| AppendToBuffer("mov_w ");
|
| data += PrintRightOperand(data);
|
| AppendToBuffer(",%s", NameOfCPURegister(regop));
|
| + } else if (*data == 0xC7) {
|
| + data++;
|
| + AppendToBuffer("%s ", "mov_w");
|
| + data += PrintRightOperand(data);
|
| + int imm = *reinterpret_cast<int16_t*>(data);
|
| + AppendToBuffer(",0x%x", imm);
|
| + data += 2;
|
| } else if (*data == 0x0F) {
|
| data++;
|
| if (*data == 0x38) {
|
|
|