| Index: src/x64/disasm-x64.cc
|
| diff --git a/src/x64/disasm-x64.cc b/src/x64/disasm-x64.cc
|
| index d9fdf31807742da556ff3d86ccdee559eeea42c5..e65a98fa11028b8666006313ec21924fdc65c3e6 100644
|
| --- a/src/x64/disasm-x64.cc
|
| +++ b/src/x64/disasm-x64.cc
|
| @@ -952,6 +952,19 @@ int DisassemblerX64::AVXInstruction(byte* data) {
|
| default:
|
| UnimplementedInstruction();
|
| }
|
| + } else if (vex_66() && vex_0f3a()) {
|
| + int mod, regop, rm, vvvv = vex_vreg();
|
| + get_modrm(*current, &mod, ®op, &rm);
|
| + switch (opcode) {
|
| + case 0x0b:
|
| + AppendToBuffer("vroundsd %s,%s,", NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(vvvv));
|
| + current += PrintRightXMMOperand(current);
|
| + AppendToBuffer(",0x%x", *current++);
|
| + break;
|
| + default:
|
| + UnimplementedInstruction();
|
| + }
|
| } else if (vex_f3() && vex_0f()) {
|
| int mod, regop, rm, vvvv = vex_vreg();
|
| get_modrm(*current, &mod, ®op, &rm);
|
| @@ -1493,7 +1506,7 @@ int DisassemblerX64::TwoByteOpcodeInstruction(byte* data) {
|
| // roundsd xmm, xmm/m64, imm8
|
| AppendToBuffer("roundsd %s,", NameOfXMMRegister(regop));
|
| current += PrintRightXMMOperand(current);
|
| - AppendToBuffer(",%d", (*current) & 3);
|
| + AppendToBuffer(",0x%x", (*current) & 3);
|
| current += 1;
|
| } else if (third_byte == 0x16) {
|
| get_modrm(*current, &mod, &rm, ®op);
|
|
|