| Index: src/x64/assembler-x64.cc
 | 
| diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
 | 
| index edad1e2a01b44889d08f24edc4ceddc0243376f2..58d473920efcaee99f61db56bb4b01463d1f0b64 100644
 | 
| --- a/src/x64/assembler-x64.cc
 | 
| +++ b/src/x64/assembler-x64.cc
 | 
| @@ -2606,6 +2606,28 @@ void Assembler::movsd(XMMRegister dst, const Operand& src) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void Assembler::movss(XMMRegister dst, const Operand& src) {
 | 
| +  EnsureSpace ensure_space(this);
 | 
| +  last_pc_ = pc_;
 | 
| +  emit(0xF3);  // single
 | 
| +  emit_optional_rex_32(dst, src);
 | 
| +  emit(0x0F);
 | 
| +  emit(0x10);  // load
 | 
| +  emit_sse_operand(dst, src);
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void Assembler::movss(const Operand& src, XMMRegister dst) {
 | 
| +  EnsureSpace ensure_space(this);
 | 
| +  last_pc_ = pc_;
 | 
| +  emit(0xF3);  // single
 | 
| +  emit_optional_rex_32(dst, src);
 | 
| +  emit(0x0F);
 | 
| +  emit(0x11);  // store
 | 
| +  emit_sse_operand(dst, src);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void Assembler::cvttss2si(Register dst, const Operand& src) {
 | 
|    EnsureSpace ensure_space(this);
 | 
|    last_pc_ = pc_;
 | 
| @@ -2661,6 +2683,17 @@ void Assembler::cvtlsi2sd(XMMRegister dst, Register src) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void Assembler::cvtlsi2ss(XMMRegister dst, Register src) {
 | 
| +  EnsureSpace ensure_space(this);
 | 
| +  last_pc_ = pc_;
 | 
| +  emit(0xF3);
 | 
| +  emit_optional_rex_32(dst, src);
 | 
| +  emit(0x0F);
 | 
| +  emit(0x2A);
 | 
| +  emit_sse_operand(dst, src);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void Assembler::cvtqsi2sd(XMMRegister dst, Register src) {
 | 
|    EnsureSpace ensure_space(this);
 | 
|    last_pc_ = pc_;
 | 
| @@ -2683,6 +2716,28 @@ void Assembler::cvtss2sd(XMMRegister dst, XMMRegister src) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void Assembler::cvtss2sd(XMMRegister dst, const Operand& src) {
 | 
| +  EnsureSpace ensure_space(this);
 | 
| +  last_pc_ = pc_;
 | 
| +  emit(0xF3);
 | 
| +  emit_optional_rex_32(dst, src);
 | 
| +  emit(0x0F);
 | 
| +  emit(0x5A);
 | 
| +  emit_sse_operand(dst, src);
 | 
| +}
 | 
| +
 | 
| +
 | 
| +void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) {
 | 
| +  EnsureSpace ensure_space(this);
 | 
| +  last_pc_ = pc_;
 | 
| +  emit(0xF2);
 | 
| +  emit_optional_rex_32(dst, src);
 | 
| +  emit(0x0F);
 | 
| +  emit(0x5A);
 | 
| +  emit_sse_operand(dst, src);
 | 
| +}
 | 
| +
 | 
| +
 | 
|  void Assembler::addsd(XMMRegister dst, XMMRegister src) {
 | 
|    EnsureSpace ensure_space(this);
 | 
|    last_pc_ = pc_;
 | 
| @@ -2760,6 +2815,18 @@ void Assembler::ucomisd(XMMRegister dst, XMMRegister src) {
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void Assembler::ucomisd(XMMRegister dst, const Operand& 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() };
 | 
|    emit_operand(ireg, adr);
 | 
| 
 |