Index: runtime/vm/disassembler_ia32.cc |
diff --git a/runtime/vm/disassembler_ia32.cc b/runtime/vm/disassembler_ia32.cc |
index 5610b5f0acc6f58ae379f9e501a35484267af920..cc08f941989b01302321c93cfebe994a0f831e3e 100644 |
--- a/runtime/vm/disassembler_ia32.cc |
+++ b/runtime/vm/disassembler_ia32.cc |
@@ -237,22 +237,8 @@ static const char* F0Mnem(uint8_t f0byte) { |
case 0xAD: return "shrd"; |
case 0xAB: return "bts"; |
case 0xB1: return "cmpxchg"; |
- case 0x50: return "movmskps"; |
- case 0x51: return "sqrtps"; |
- case 0x52: return "rqstps"; |
- case 0x53: return "rcpps"; |
- case 0x54: return "andps"; |
- case 0x56: return "orps"; |
case 0x57: return "xorps"; |
- case 0x58: return "addps"; |
- case 0x59: return "mulps"; |
- case 0x5C: return "subps"; |
- case 0x5D: return "minps"; |
- case 0x5E: return "divps"; |
- case 0x5F: return "maxps"; |
case 0x28: return "movaps"; |
- case 0x10: return "movups"; |
- case 0x11: return "movups"; |
default: return NULL; |
} |
} |
@@ -300,7 +286,6 @@ class X86Decoder : public ValueObject { |
void PrintCPURegister(int reg); |
void PrintCPUByteRegister(int reg); |
void PrintXmmRegister(int reg); |
- void PrintXmmComparison(int comparison); |
void PrintAddress(uword addr); |
typedef void (X86Decoder::*RegisterNamePrinter)(int reg); |
@@ -410,15 +395,6 @@ void X86Decoder::PrintXmmRegister(int reg) { |
Print(xmm_regs[reg]); |
} |
-void X86Decoder::PrintXmmComparison(int comparison) { |
- ASSERT(0 <= comparison); |
- ASSERT(comparison < 8); |
- static const char* comparisons[8] = { |
- "eq", "lt", "le", "unordered", "not eq", "not lt", "not le", "ordered" |
- }; |
- Print(comparisons[comparison]); |
-} |
- |
static const char* ObjectToCStringNoGC(const Object& obj) { |
if (obj.IsSmi() || |
@@ -1361,54 +1337,6 @@ int X86Decoder::InstructionDecode(uword pc) { |
PrintXmmRegister(regop); |
Print(","); |
data += PrintRightXmmOperand(data); |
- } else if (f0byte == 0x11) { |
- Print("movups "); |
- int mod, regop, rm; |
- GetModRm(*data, &mod, ®op, &rm); |
- data += PrintRightXmmOperand(data); |
- Print(","); |
- PrintXmmRegister(regop); |
- } else if (f0byte == 0x10) { |
- int mod, regop, rm; |
- GetModRm(*data, &mod, ®op, &rm); |
- Print("movups "); |
- PrintXmmRegister(regop); |
- Print(","); |
- data += PrintRightOperand(data); |
- } else if (f0byte == 0x51 || f0byte == 0x52 || f0byte == 0x53 || |
- f0byte == 0x54 || f0byte == 0x56 || f0byte == 0x58 || |
- f0byte == 0x59 || f0byte == 0x5C || f0byte == 0x5D || |
- f0byte == 0x5E || f0byte == 0x5F) { |
- int mod, regop, rm; |
- GetModRm(*data, &mod, ®op, &rm); |
- Print(f0mnem); |
- Print(" "); |
- PrintXmmRegister(regop); |
- Print(","); |
- data += PrintRightXmmOperand(data); |
- } else if (f0byte == 0x50) { |
- Print("movmskpd "); |
- int mod, regop, rm; |
- GetModRm(*data, &mod, ®op, &rm); |
- PrintCPURegister(regop); |
- Print(","); |
- data += PrintRightXmmOperand(data); |
- } else if (f0byte == 0xC2 || f0byte == 0xC6) { |
- if (f0byte == 0xC2) |
- Print("cmpps "); |
- else |
- Print("shufps "); |
- int mod, regop, rm; |
- GetModRm(*data, &mod, ®op, &rm); |
- Print(" "); |
- PrintXmmRegister(regop); |
- Print(","); |
- data += PrintRightXmmOperand(data); |
- int comparison = *data; |
- Print(" ["); |
- PrintHex(comparison); |
- Print("]"); |
- data++; |
} else { |
UNIMPLEMENTED(); |
} |