Index: src/ia32/assembler-ia32.cc |
=================================================================== |
--- src/ia32/assembler-ia32.cc (revision 2860) |
+++ src/ia32/assembler-ia32.cc (working copy) |
@@ -721,10 +721,10 @@ |
ASSERT(CpuFeatures::IsEnabled(CpuFeatures::CMOV)); |
EnsureSpace ensure_space(this); |
last_pc_ = pc_; |
- UNIMPLEMENTED(); |
- USE(cc); |
- USE(dst); |
- USE(src); |
+ // Opcode: 0f 40 + cc /r |
+ EMIT(0x0F); |
+ EMIT(0x40 + cc); |
+ emit_operand(dst, src); |
} |
@@ -866,6 +866,13 @@ |
} |
+void Assembler::cmp(const Operand& op, Handle<Object> handle) { |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ emit_arith(7, op, Immediate(handle)); |
+} |
+ |
+ |
void Assembler::cmpb_al(const Operand& op) { |
EnsureSpace ensure_space(this); |
last_pc_ = pc_; |
@@ -1947,6 +1954,17 @@ |
} |
+void Assembler::comisd(XMMRegister dst, XMMRegister src) { |
+ ASSERT(CpuFeatures::IsEnabled(CpuFeatures::SSE2)); |
+ EnsureSpace ensure_space(this); |
+ last_pc_ = pc_; |
+ EMIT(0x66); |
+ EMIT(0x0F); |
+ EMIT(0x2F); |
+ emit_sse_operand(dst, src); |
+} |
+ |
+ |
void Assembler::movdbl(XMMRegister dst, const Operand& src) { |
EnsureSpace ensure_space(this); |
last_pc_ = pc_; |