diff options
Diffstat (limited to 'deps/v8/src/ia32/disasm-ia32.cc')
-rw-r--r-- | deps/v8/src/ia32/disasm-ia32.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/deps/v8/src/ia32/disasm-ia32.cc b/deps/v8/src/ia32/disasm-ia32.cc index 935b22d900..5a43280659 100644 --- a/deps/v8/src/ia32/disasm-ia32.cc +++ b/deps/v8/src/ia32/disasm-ia32.cc @@ -1231,6 +1231,8 @@ static const char* F0Mnem(byte f0byte) { case 0xAD: return "shrd"; case 0xAC: return "shrd"; // 3-operand version. case 0xAB: return "bts"; + case 0xBC: + return "bsf"; case 0xBD: return "bsr"; default: return NULL; } @@ -1482,6 +1484,12 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer, } else { AppendToBuffer(",%s,cl", NameOfCPURegister(regop)); } + } else if (f0byte == 0xBC) { + data += 2; + int mod, regop, rm; + get_modrm(*data, &mod, ®op, &rm); + AppendToBuffer("%s %s,", f0mnem, NameOfCPURegister(regop)); + data += PrintRightOperand(data); } else if (f0byte == 0xBD) { data += 2; int mod, regop, rm; |