| Index: src/x64/assembler-x64.h
|
| diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h
|
| index fd1e1e75d55db829fb6f1723543c8fab7611ada6..b4347830b0b458803fcefe82a3b9ec6a4abc51cb 100644
|
| --- a/src/x64/assembler-x64.h
|
| +++ b/src/x64/assembler-x64.h
|
| @@ -756,7 +756,8 @@ class Assembler : public AssemblerBase {
|
| void cmovl(Condition cc, Register dst, const Operand& src);
|
|
|
| // Exchange two registers
|
| - void xchg(Register dst, Register src);
|
| + void xchgq(Register dst, Register src);
|
| + void xchgl(Register dst, Register src);
|
|
|
| // Arithmetics
|
| void addl(Register dst, Register src) {
|
| @@ -991,6 +992,10 @@ class Assembler : public AssemblerBase {
|
| arithmetic_op(0x09, src, dst);
|
| }
|
|
|
| + void orl(const Operand& dst, Register src) {
|
| + arithmetic_op_32(0x09, src, dst);
|
| + }
|
| +
|
| void or_(Register dst, Immediate src) {
|
| immediate_arithmetic_op(0x1, dst, src);
|
| }
|
| @@ -1016,6 +1021,10 @@ class Assembler : public AssemblerBase {
|
| shift(dst, imm8, 0x0);
|
| }
|
|
|
| + void roll(Register dst, Immediate imm8) {
|
| + shift_32(dst, imm8, 0x0);
|
| + }
|
| +
|
| void rcr(Register dst, Immediate imm8) {
|
| shift(dst, imm8, 0x3);
|
| }
|
| @@ -1123,6 +1132,10 @@ class Assembler : public AssemblerBase {
|
| arithmetic_op_32(0x2B, dst, src);
|
| }
|
|
|
| + void subl(const Operand& dst, Register src) {
|
| + arithmetic_op_32(0x29, src, dst);
|
| + }
|
| +
|
| void subl(const Operand& dst, Immediate src) {
|
| immediate_arithmetic_op_32(0x5, dst, src);
|
| }
|
| @@ -1141,6 +1154,7 @@ class Assembler : public AssemblerBase {
|
| void testb(const Operand& op, Register reg);
|
| void testl(Register dst, Register src);
|
| void testl(Register reg, Immediate mask);
|
| + void testl(const Operand& op, Register reg);
|
| void testl(const Operand& op, Immediate mask);
|
| void testq(const Operand& op, Register reg);
|
| void testq(Register dst, Register src);
|
| @@ -1166,6 +1180,10 @@ class Assembler : public AssemblerBase {
|
| immediate_arithmetic_op_32(0x6, dst, src);
|
| }
|
|
|
| + void xorl(const Operand& dst, Register src) {
|
| + arithmetic_op_32(0x31, src, dst);
|
| + }
|
| +
|
| void xorl(const Operand& dst, Immediate src) {
|
| immediate_arithmetic_op_32(0x6, dst, src);
|
| }
|
|
|