| Index: src/x64/assembler-x64.cc
|
| ===================================================================
|
| --- src/x64/assembler-x64.cc (revision 3095)
|
| +++ src/x64/assembler-x64.cc (working copy)
|
| @@ -1255,6 +1255,15 @@
|
| emit_operand(src, dst);
|
| }
|
|
|
| +void Assembler::movw(const Operand& dst, Register src) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit(0x66);
|
| + emit_optional_rex_32(src, dst);
|
| + emit(0x89);
|
| + emit_operand(src, dst);
|
| +}
|
| +
|
| void Assembler::movl(Register dst, const Operand& src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1439,6 +1448,26 @@
|
| }
|
|
|
|
|
| +void Assembler::movsxbq(Register dst, const Operand& src) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_rex_32(dst, src);
|
| + emit(0x0F);
|
| + emit(0xBE);
|
| + emit_operand(dst, src);
|
| +}
|
| +
|
| +
|
| +void Assembler::movsxwq(Register dst, const Operand& src) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_rex_64(dst, src);
|
| + emit(0x0F);
|
| + emit(0xBF);
|
| + emit_operand(dst, src);
|
| +}
|
| +
|
| +
|
| void Assembler::movsxlq(Register dst, Register src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1477,6 +1506,16 @@
|
| }
|
|
|
|
|
| +void Assembler::movzxwq(Register dst, const Operand& src) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_rex_64(dst, src);
|
| + emit(0x0F);
|
| + emit(0xB7);
|
| + emit_operand(dst, src);
|
| +}
|
| +
|
| +
|
| void Assembler::movzxwl(Register dst, const Operand& src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -2021,7 +2060,7 @@
|
| last_pc_ = pc_;
|
| emit_optional_rex_32(adr);
|
| emit(0xDF);
|
| - emit_operand(8, adr);
|
| + emit_operand(7, adr);
|
| }
|
|
|
|
|
|
|