| Index: src/ia32/disasm-ia32.cc
|
| ===================================================================
|
| --- src/ia32/disasm-ia32.cc (revision 5989)
|
| +++ src/ia32/disasm-ia32.cc (working copy)
|
| @@ -1107,21 +1107,6 @@
|
| } else {
|
| UnimplementedInstruction();
|
| }
|
| - } else if (*data == 0x3A) {
|
| - data++;
|
| - if (*data == 0x16) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - int8_t imm8 = static_cast<int8_t>(data[1]);
|
| - AppendToBuffer("pextrd %s,%s,%d",
|
| - NameOfXMMRegister(regop),
|
| - NameOfXMMRegister(rm),
|
| - static_cast<int>(imm8));
|
| - data += 2;
|
| - } else {
|
| - UnimplementedInstruction();
|
| - }
|
| } else if (*data == 0x2E || *data == 0x2F) {
|
| const char* mnem = (*data == 0x2E) ? "ucomisd" : "comisd";
|
| data++;
|
| @@ -1144,14 +1129,6 @@
|
| NameOfCPURegister(regop),
|
| NameOfXMMRegister(rm));
|
| data++;
|
| - } else if (*data == 0x54) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - AppendToBuffer("andpd %s,%s",
|
| - NameOfXMMRegister(regop),
|
| - NameOfXMMRegister(rm));
|
| - data++;
|
| } else if (*data == 0x57) {
|
| data++;
|
| int mod, regop, rm;
|
| @@ -1172,25 +1149,6 @@
|
| get_modrm(*data, &mod, ®op, &rm);
|
| AppendToBuffer("movdqa %s,", NameOfXMMRegister(regop));
|
| data += PrintRightOperand(data);
|
| - } else if (*data == 0x70) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - int8_t imm8 = static_cast<int8_t>(data[1]);
|
| - AppendToBuffer("pshufd %s,%s,%d",
|
| - NameOfXMMRegister(regop),
|
| - NameOfXMMRegister(rm),
|
| - static_cast<int>(imm8));
|
| - data += 2;
|
| - } else if (*data == 0x73) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - int8_t imm8 = static_cast<int8_t>(data[1]);
|
| - AppendToBuffer("psllq %s,%d",
|
| - NameOfXMMRegister(rm),
|
| - static_cast<int>(imm8));
|
| - data += 2;
|
| } else if (*data == 0x7F) {
|
| AppendToBuffer("movdqa ");
|
| data++;
|
| @@ -1198,21 +1156,6 @@
|
| get_modrm(*data, &mod, ®op, &rm);
|
| data += PrintRightOperand(data);
|
| AppendToBuffer(",%s", NameOfXMMRegister(regop));
|
| - } else if (*data == 0x7E) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - AppendToBuffer("movd ");
|
| - data += PrintRightOperand(data);
|
| - AppendToBuffer(",%s", NameOfXMMRegister(regop));
|
| - } else if (*data == 0xDB) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - AppendToBuffer("pand %s,%s",
|
| - NameOfXMMRegister(regop),
|
| - NameOfXMMRegister(rm));
|
| - data++;
|
| } else if (*data == 0xE7) {
|
| AppendToBuffer("movntdq ");
|
| data++;
|
| @@ -1221,13 +1164,38 @@
|
| data += PrintRightOperand(data);
|
| AppendToBuffer(",%s", NameOfXMMRegister(regop));
|
| } else if (*data == 0xEF) {
|
| - data++;
|
| - int mod, regop, rm;
|
| - get_modrm(*data, &mod, ®op, &rm);
|
| - AppendToBuffer("pxor %s,%s",
|
| - NameOfXMMRegister(regop),
|
| - NameOfXMMRegister(rm));
|
| - data++;
|
| + data++;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + AppendToBuffer("pxor %s,%s",
|
| + NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(rm));
|
| + data++;
|
| + } else if (*data == 0xDB) {
|
| + data++;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + AppendToBuffer("pand %s,%s",
|
| + NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(rm));
|
| + data++;
|
| + } else if (*data == 0x73) {
|
| + data++;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + int8_t imm8 = static_cast<int8_t>(data[1]);
|
| + AppendToBuffer("psllq %s,%d",
|
| + NameOfXMMRegister(rm),
|
| + static_cast<int>(imm8));
|
| + data += 2;
|
| + } else if (*data == 0x54) {
|
| + data++;
|
| + int mod, regop, rm;
|
| + get_modrm(*data, &mod, ®op, &rm);
|
| + AppendToBuffer("andpd %s,%s",
|
| + NameOfXMMRegister(regop),
|
| + NameOfXMMRegister(rm));
|
| + data++;
|
| } else {
|
| UnimplementedInstruction();
|
| }
|
|
|