Index: src/x64/assembler-x64.cc |
diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc |
index 1b6874e9a5f857beb3f50c23388fe980b56a9c8c..8078a94c3a6ae0ab97423589d794d31f1251305f 100644 |
--- a/src/x64/assembler-x64.cc |
+++ b/src/x64/assembler-x64.cc |
@@ -2508,6 +2508,38 @@ void Assembler::divsd(XMMRegister dst, XMMRegister src) { |
} |
+void Assembler::xorpd(XMMRegister dst, XMMRegister src) { |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ emit(0x66); |
+ emit_optional_rex_32(dst, src); |
+ emit(0x0f); |
+ emit(0x57); |
+ emit_sse_operand(dst, src); |
+} |
+ |
+ |
+void Assembler::comisd(XMMRegister dst, XMMRegister src) { |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ emit(0x66); |
+ emit_optional_rex_32(dst, src); |
+ emit(0x0f); |
+ emit(0x2f); |
+ emit_sse_operand(dst, src); |
+} |
+ |
+ |
+void Assembler::ucomisd(XMMRegister dst, XMMRegister src) { |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ emit(0x66); |
+ emit_optional_rex_32(dst, src); |
+ emit(0x0f); |
+ emit(0x2e); |
+ emit_sse_operand(dst, src); |
+} |
+ |
void Assembler::emit_sse_operand(XMMRegister reg, const Operand& adr) { |
Register ireg = { reg.code() }; |