diff options
Diffstat (limited to 'deps/v8/src/x64/disasm-x64.cc')
-rw-r--r-- | deps/v8/src/x64/disasm-x64.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/deps/v8/src/x64/disasm-x64.cc b/deps/v8/src/x64/disasm-x64.cc index 05b199d558..a9532dc3ad 100644 --- a/deps/v8/src/x64/disasm-x64.cc +++ b/deps/v8/src/x64/disasm-x64.cc @@ -956,6 +956,12 @@ int DisassemblerX64::AVXInstruction(byte* data) { int mod, regop, rm, vvvv = vex_vreg(); get_modrm(*current, &mod, ®op, &rm); switch (opcode) { + case 0x0a: + AppendToBuffer("vroundss %s,%s,", NameOfXMMRegister(regop), + NameOfXMMRegister(vvvv)); + current += PrintRightXMMOperand(current); + AppendToBuffer(",0x%x", *current++); + break; case 0x0b: AppendToBuffer("vroundsd %s,%s,", NameOfXMMRegister(regop), NameOfXMMRegister(vvvv)); @@ -1516,6 +1522,12 @@ int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) { current += PrintRightOperand(current); AppendToBuffer(",%s,%d", NameOfXMMRegister(regop), (*current) & 3); current += 1; + } else if (third_byte == 0x0a) { + get_modrm(*current, &mod, ®op, &rm); + AppendToBuffer("roundss %s,", NameOfXMMRegister(regop)); + current += PrintRightXMMOperand(current); + AppendToBuffer(",0x%x", (*current) & 3); + current += 1; } else if (third_byte == 0x0b) { get_modrm(*current, &mod, ®op, &rm); // roundsd xmm, xmm/m64, imm8 |