| Index: src/ia32/disasm-ia32.cc
|
| diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc
|
| index d13127773aa9869c01fbf2e848d1af1ece8c5df0..80ac52864e04a3720da94b8495cb30a4ec80e490 100644
|
| --- a/src/ia32/disasm-ia32.cc
|
| +++ b/src/ia32/disasm-ia32.cc
|
| @@ -985,6 +985,40 @@ int DisassemblerIA32::AVXInstruction(byte* data) {
|
| default:
|
| UnimplementedInstruction();
|
| }
|
| + } else if (vex_none() && vex_0f()) {
|
| + int mod, regop, rm, vvvv = vex_vreg();
|
| + get_modrm(*current, &mod, ®op, &rm);
|
| + switch (opcode) {
|
| + case 0x54:
|
| + AppendToBuffer("vandps %s,%s,", NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(vvvv));
|
| + current += PrintRightXMMOperand(current);
|
| + break;
|
| + case 0x57:
|
| + AppendToBuffer("vxorps %s,%s,", NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(vvvv));
|
| + current += PrintRightXMMOperand(current);
|
| + break;
|
| + default:
|
| + UnimplementedInstruction();
|
| + }
|
| + } else if (vex_66() && vex_0f()) {
|
| + int mod, regop, rm, vvvv = vex_vreg();
|
| + get_modrm(*current, &mod, ®op, &rm);
|
| + switch (opcode) {
|
| + case 0x54:
|
| + AppendToBuffer("vandpd %s,%s,", NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(vvvv));
|
| + current += PrintRightXMMOperand(current);
|
| + break;
|
| + case 0x57:
|
| + AppendToBuffer("vxorpd %s,%s,", NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(vvvv));
|
| + current += PrintRightXMMOperand(current);
|
| + break;
|
| + default:
|
| + UnimplementedInstruction();
|
| + }
|
| } else {
|
| UnimplementedInstruction();
|
| }
|
|
|