| Index: runtime/vm/assembler_x64.cc | 
| diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc | 
| index 804dcf21a18652018d240d6ac95f420bedfe4f42..6984fc3ab35c7a1507f1543830bc8be8cb632b77 100644 | 
| --- a/runtime/vm/assembler_x64.cc | 
| +++ b/runtime/vm/assembler_x64.cc | 
| @@ -350,6 +350,16 @@ void Assembler::movw(const Address& dst, Register src) { | 
| } | 
|  | 
|  | 
| +void Assembler::movw(const Address& dst, const Immediate& imm) { | 
| +  AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 
| +  EmitOperandSizeOverride(); | 
| +  EmitUint8(0xC7); | 
| +  EmitOperand(0, dst); | 
| +  EmitUint8(imm.value() & 0xFF); | 
| +  EmitUint8((imm.value() >> 8) & 0xFF); | 
| +} | 
| + | 
| + | 
| void Assembler::movq(Register dst, const Immediate& imm) { | 
| AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 
| if (imm.is_int32()) { | 
| @@ -1419,6 +1429,24 @@ void Assembler::cmpb(const Address& address, const Immediate& imm) { | 
| } | 
|  | 
|  | 
| +void Assembler::cmpw(Register reg, const Address& address) { | 
| +  AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 
| +  EmitOperandSizeOverride(); | 
| +  EmitUint8(0x3B); | 
| +  EmitOperand(reg, address); | 
| +} | 
| + | 
| + | 
| +void Assembler::cmpw(const Address& address, const Immediate& imm) { | 
| +  AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 
| +  EmitOperandSizeOverride(); | 
| +  EmitUint8(0x81); | 
| +  EmitOperand(7, address); | 
| +  EmitUint8(imm.value() & 0xFF); | 
| +  EmitUint8((imm.value() >> 8) & 0xFF); | 
| +} | 
| + | 
| + | 
| void Assembler::cmpl(Register reg, const Immediate& imm) { | 
| AssemblerBuffer::EnsureCapacity ensured(&buffer_); | 
| EmitRegisterREX(reg, REX_NONE); | 
|  |