| Index: src/x64/assembler-x64.cc
|
| ===================================================================
|
| --- src/x64/assembler-x64.cc (revision 4167)
|
| +++ src/x64/assembler-x64.cc (working copy)
|
| @@ -1030,6 +1030,22 @@
|
| }
|
|
|
|
|
| +void Assembler::imull(Register dst, Register src, Immediate imm) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_optional_rex_32(dst, src);
|
| + if (is_int8(imm.value_)) {
|
| + emit(0x6B);
|
| + emit_modrm(dst, src);
|
| + emit(imm.value_);
|
| + } else {
|
| + emit(0x69);
|
| + emit_modrm(dst, src);
|
| + emitl(imm.value_);
|
| + }
|
| +}
|
| +
|
| +
|
| void Assembler::incq(Register dst) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1190,6 +1206,15 @@
|
| }
|
|
|
|
|
| +void Assembler::leal(Register dst, const Operand& src) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_optional_rex_32(dst, src);
|
| + emit(0x8D);
|
| + emit_operand(dst, src);
|
| +}
|
| +
|
| +
|
| void Assembler::load_rax(void* value, RelocInfo::Mode mode) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1219,6 +1244,7 @@
|
| emit_operand(dst, src);
|
| }
|
|
|
| +
|
| void Assembler::movb(Register dst, Immediate imm) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1228,6 +1254,7 @@
|
| emit(imm.value_);
|
| }
|
|
|
| +
|
| void Assembler::movb(const Operand& dst, Register src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1236,6 +1263,7 @@
|
| emit_operand(src, dst);
|
| }
|
|
|
| +
|
| void Assembler::movw(const Operand& dst, Register src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1245,6 +1273,7 @@
|
| emit_operand(src, dst);
|
| }
|
|
|
| +
|
| void Assembler::movl(Register dst, const Operand& src) {
|
| EnsureSpace ensure_space(this);
|
| last_pc_ = pc_;
|
| @@ -1600,6 +1629,15 @@
|
| }
|
|
|
|
|
| +void Assembler::notl(Register dst) {
|
| + EnsureSpace ensure_space(this);
|
| + last_pc_ = pc_;
|
| + emit_optional_rex_32(dst);
|
| + emit(0xF7);
|
| + emit_modrm(0x2, dst);
|
| +}
|
| +
|
| +
|
| void Assembler::nop(int n) {
|
| // The recommended muti-byte sequences of NOP instructions from the Intel 64
|
| // and IA-32 Architectures Software Developer's Manual.
|
|
|