Index: src/ia32/disasm-ia32.cc |
diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc |
index be3530cb3d01f9d4a5328ef2a3f13b9534812a13..a0a4e1ceeb21d1fe3dd7a65777d2ee9b79dc24d6 100644 |
--- a/src/ia32/disasm-ia32.cc |
+++ b/src/ia32/disasm-ia32.cc |
@@ -1422,6 +1422,20 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer, |
NameOfXMMRegister(regop), |
NameOfXMMRegister(rm)); |
data++; |
+ } else if (f0byte == 0x10 || f0byte == 0x11) { |
+ data += 2; |
+ // movups xmm, xmm/m128 |
+ // movups xmm/m128, xmm |
+ int mod, regop, rm; |
+ get_modrm(*data, &mod, ®op, &rm); |
+ AppendToBuffer("movups "); |
+ if (f0byte == 0x11) { |
+ data += PrintRightXMMOperand(data); |
+ AppendToBuffer(",%s", NameOfXMMRegister(regop)); |
+ } else { |
+ AppendToBuffer("%s,", NameOfXMMRegister(regop)); |
+ data += PrintRightXMMOperand(data); |
+ } |
} else if (f0byte == 0x2e) { |
data += 2; |
int mod, regop, rm; |